做者:汪娇娇javascript
日期:2016.8.4html
顾名思义,User Agent中文名就是用户代理,简称 UA,它是一个特殊字符串头,使得服务器可以识别客户使用的操做系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。知道了这些就能判断使用的是哪一个平台或终端,后续撸代码也就能更好知足需求了。java
userAgent 属性是一个只读的字符串,声明了浏览器用于 HTTP 请求的用户代理头的值。windows
通常来说,它是在 navigator.appCodeName 的值以后加上斜线和 navigator.appVersion 的值构成的。浏览器
例如:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322)。服务器
注:用户代理头:user-agent headerapp
语法:函数
navigator.userAgent
实例:spa
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> </body> <script> console.log(navigator.userAgent); </script> </html>
我是用谷歌浏览器打开的,而后log出的信息以下所示:
操作系统
若是模拟手机模式(iPhone6)的话,log出来的结果又是不同的:
基于好多项目都要用到UA,因此就封装了个小函数,拿起来就用就方便多了。
function parseUA(UA) { UA = UA || navigator.userAgent; return { isIOS: !!UA.match(/iOS|iPad|iPhone/i), isAndroid: !!UA.match(/Android/i), isMobile: !!UA.match(/iOS|iPad|iPhone|Android|windows Phone/i), isQQ: !!UA.match(/qq/i), isWeixin: !!UA.match(/micromessenger/i), isWeibo: !!UA.match(/weibo/i) }; }
调用的代码以下:
var ua=parseUA(); if (ua.isMobile) { console.log("isMobile"); }else if (ua.isWeixin || ua.isQQ) { console.log("isWeixin and isQQ"); } else if (ua.isIOS) { console.log("isIOS"); }else { console.log("isAndroid"); }
最后,如若哪里有问题,还请轻喷,可是欢迎指出你们一块儿交流(*^__^*) !