User Agent中文名为用户代理,简称 UA,它是一个http协议的特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。
调用方法:navigator.userAgent
在控制台之间输入,得到的结果:
"Mozilla/5.0 (Macintosh; Intel Mac OSX 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133Safari/537.36"
每个浏览器ua都会带有自己的标识符(绿色部分)
是否移动端:
function isMobile() {
return Boolean(
navigator.userAgent.match(
/.*(iphone|ipod|ipad|android|symbian|nokia|blackberry|rim|operamini|opera mobi|windows ce|windows phone|up\.browser|netfront|palm-|palmos|pre\/|palmsource|avantogo|webos|hiptop|iris|kddi|kindle|lg-|lge|mot-|motorola|nintendods|nitro|playstation portable|samsung|sanyo|sprint|sonyericsson|symbian).*/i
)||
navigator.userAgent.match(
/alcatel|audiovox|bird|coral|cricket|docomo|edl|huawei|htc|gt-|lava|lct|lg|lynx|mobile|lenovo|maui|micromax|mot|myphone|nec|nexian|nook|pantech|pg|polaris|ppc|sch|sec|spice|tianyu|ustarcom|utstarcom|videocon|vodafone|winwap|zte/i
)
);
}
注意正则表达式的 点星 .* 表示任意字符, /i 表示不区分大小写。当然正则这部分你可以自己定义,只要在ua里面匹配出特殊字符即可
判断浏览器类型 :
var ua = navigator.userAgent.toLowerCase();
browser = {
safari:/webkit/.test(ua),
opera:/opera/.test(ua),
msie:/msie/.test(ua) && !/opera/.test(ua), // 即IE ,版本号可另加判断
mozilla:/mozilla/.test(ua) && !/(compatible|webkit)/.test(ua)
};