js/jquery判断浏览器的方法小结

时间:2022-04-21 01:19:32

JS获取浏览器信息

?
1
2
3
4
5
6
7
8
浏览器代码名称:navigator.appCodeName
浏览器名称:navigator.appName
浏览器版本号:navigator.appVersion
对Java的支持:navigator.javaEnabled()
MIME类型(数组):navigator.mimeTypes
系统平台:navigator.platform
插件(数组):navigator.plugins
用户代理:navigator.userAgent

js判断IE浏览器的四种方法:

方法一:

?
1
2
3
4
5
6
7
if(window.addEventListener){
alert("not ie");
}else if(window.attachEvent){
alert("is ie");
}else{
alert("这种情况发生在不支持DHTML的老版本浏览器(现在一般都支持)")
}

注释:该方法在IE9及以上IE版本会弹出not ie结果

方法二:

?
1
2
3
4
5
if(document.all){
alert("IE");
}else{
alert("not ie");
}

方法三:

?
1
2
3
4
5
6
var navigatorName = "Microsoft Internet Explorer";
if( navigator.appName == navigatorName ){
alert("ie")
}else{
alert("not ie")
}

方法四:
利用了IE与标准浏览器在处理数组的toString方法的差异.对于标准游览器,如果数组里面最后一个字符为逗号,JS引擎会自动剔除它.

?
1
2
if(!+[1,])alert("这是ie浏览器");
else alert("这不是ie浏览器");


注释:IE9及以上版本会弹出“这不是IE浏览器”

判断常用浏览器的方法:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
var explorer =navigator.userAgent ;
//ie
if (explorer.indexOf("MSIE") >= 0) {
alert("ie");
}
//firefox
else if (explorer.indexOf("Firefox") >= 0) {
alert("Firefox");
}
//Chrome
else if(explorer.indexOf("Chrome") >= 0){
alert("Chrome");
}
//Opera
else if(explorer.indexOf("Opera") >= 0){
alert("Opera");
}
//Safari
else if(explorer.indexOf("Safari") >= 0){
alert("Safari");
}
//Netscape
else if(explorer.indexOf("Netscape")>= 0) {
alert('Netscape');
}

这里用到navigator.userAgent。indexOf("MSIE") >= 0进行判断,当然也可以用
navigator.userAgent.indexOf("MSIE") != -1 进行判断。

jquery判断浏览器类型和浏览器版本号的方法

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$(document).ready(function(){
 
  var brow=$.browser;
 
  var bInfo="";
 
  if(brow.msie){bInfo="MicrosoftInternetExplorer"+brow.version;}
 
  if(brow.mozilla){bInfo="MozillaFirefox"+brow.version;}
 
  if(brow.safari){bInfo="AppleSafari"+brow.version;}
 
  if(brow.opera){bInfo="Opera"+brow.version;}
 
  alert(bInfo);
 
});


注意:Query 从 1.9 版开始,移除了 $.browser 和 $.browser.version , 取而代之的是

$.support 方法