检测浏览器类型的需要用到js的 Navigator对象
Navigator对象的属性 有:
appCodeName-代码
appName-名称
appVersion-版本
language-语言
mimeType-以数组表示所支持的MIME类型
platform-编译浏览器的机器类型
plugins-以数组表示已安装的外挂程序
userAgent-用户代理程序的表头
那么我们就需要用到最后一个属性 userAgent 用户代理程序的表头
先看一个简单代码
var userAgent = navigator.userAgent;
console.log(userAgent);
打印结果:
Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36
以上的结果用的是“谷歌”浏览器打印 很明显 里面写谷歌的浏览器 以及版本
再看一下用IE8浏览器打印的结果:
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)
是不是有区别呢,既然能拿到浏览器类型以及版本那么接下来就好办啦!
直接用indexOf就能判断浏览器类型了,
代码:
var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
if( userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 ){
alert("IE浏览器");
}
else if( userAgent.indexOf("Chrome") > -1){
alert("谷歌浏览器");
}
else if( userAgent.indexOf("Firefox") > -1){
alert("Firefox浏览器");
}
就是这么简单,最后附上个版本浏览器 的表头信息
IE
而IE各个版本典型的userAgent如下:
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2)
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
Mozilla/4.0 (compatible; MSIE 5.0; Windows NT)
其中,版本号是MSIE之后的数字。
Firefox
Firefox几个版本的userAgent大致如下:
Mozilla/5.0 (Windows; U; Windows NT 5.2) Gecko/2008070208 Firefox/3.0.1
Mozilla/5.0 (Windows; U; Windows NT 5.1) Gecko/20070309 Firefox/2.0.0.3
Mozilla/5.0 (Windows; U; Windows NT 5.1) Gecko/20070803 Firefox/1.5.0.12 其中,版本号是Firefox之后的数字。
Opera
Opera典型的userAgent如下:
Opera/9.27 (Windows NT 5.2; U; zh-cn)
Opera/8.0 (Macintosh; PPC Mac OS X; U; en)
Mozilla/5.0 (Macintosh; PPC Mac OS X; U; en) Opera 8.0
其中,版本号是靠近Opera的数字。
Safari
Safari典型的userAgent如下:
Mozilla/5.0 (Windows; U; Windows NT 5.2) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13
Mozilla/5.0 (iPhone; U; CPU like Mac OS X) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/4A93 Safari/419.3
其版本号是Version之后的数字。
Chrome
目前,Chrome的userAgent是:
Mozilla/5.0 (Windows; U; Windows NT 5.2) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13
其中,版本号在Chrome之后的数字。
Navigator
目前,Navigator的userAgent是:
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.12) Gecko/20080219 Firefox/2.0.0.12 Navigator/9.0.0.6
其中,版本号在Navigator之后的数字。
以下是常见浏览器的自定义Agent
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; SE 2.X MetaSr 1.0; SE 2.X MetaSr 1.0; .NET CLR 2.0.50727; SE 2.X MetaSr 1.0)
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727)
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; 360se)
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; TencentTraveler 4.0; .NET CLR 2.0.50727)
其中,360浏览器是“360se”,腾讯TT浏览器是“TencentTraveler 4.0”,Sogou浏览器是“SE 2.X MetaSr 1.0”,NET框架版本是“.NET CLR 2.0.50727”。