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