首页 > 代码库 > JS读取UserAgent信息并做判断

JS读取UserAgent信息并做判断

userAgent信息可以由navigator.userAgent拿到。
例子:

<script type="text/javascript">    document.writeln("navigator.userAgent: " + navigator.userAgent + "<br />");    document.writeln("navigator.appName: " + navigator.appName + "<br />");    document.writeln("navigator.appCodeName: " + navigator.appCodeName + "<br />");    document.writeln("navigator.appVersion: " + navigator.appVersion + "<br />");    document.writeln("navigator.appMinorVersion: " + navigator.appMinorVersion + "<br />");    document.writeln("navigator.platform: " + navigator.platform + "<br />");    document.writeln("navigator.cookieEnabled: " + navigator.cookieEnabled + "<br />");    document.writeln("navigator.onLine: " + navigator.onLine + "<br />");    document.writeln("navigator.userLanguage: " + navigator.userLanguage + "<br />");    document.writeln("navigator.mimeTypes[1].description: " + navigator.mimeTypes[1].description + "<br />");    document.writeln("navigator.mimeTypes[1].type: " + navigator.mimeTypes[1].type + "<br />");    document.writeln("navigator.plugins[3].description: " + navigator.plugins[3].description + "<br />");</script>

如果想来判断其中内容,可以用
navigator.userAgent.match()或navigator.userAgent.indexOf()来判断
前者一般是用来判断手机客户端,例如navigator.userAgent.match(/iPhone/i) , navigator.userAgent.match(/Safari/i)
后者用来变向判断userAgent字符串中某值是否存在,例如 navigator.userAgent.indexOf("iPhone OS 4_0_2") !=-1

<script type="text/javascript">   var useHTML5 = 1;   if(navigator.userAgent.indexOf("iPhone OS 4_0_2") !=-1)   {      useHTML5=2;   }   document.write("Value is: <br>");   document.write(useHTML5);</script> 

所以它经常会用来判断浏览器类型,如navigator.userAgent.indexOf("Firefox")>0