JavaScript与jQuery判断浏览器类型及版本的方法汇总

作者:流萤

时间:2026-10-30

浏览:553

本文汇总了JavaScript中获取浏览器信息的常用属性,包括appCodeName、appName、appVersion等。详细列举了四种判断IE浏览器的方法及其在IE9+版本的兼容性问题,介绍了基于userAgent判断主流浏览器的逻辑,并说明了jQuery从1.9版本起移除.browser属性改用$.support的变化及替代方案。

文章目录

JavaScript获取浏览器基本信息

在Web开发中,获取浏览器相关信息是常见需求。JavaScript提供了navigator对象来访问这些底层信息。

具体实现代码如下:

获取浏览器代码名称,可通过navigator.appCodeName属性获取。
获取浏览器正式名称,使用navigator.appName属性。
获取浏览器版本号,通过navigator.appVersion属性读取。
检查是否启用Java支持,调用navigator.javaEnabled()方法。
获取MIME类型数组,通过navigator.mimeTypes属性查看。
获取系统平台信息,使用navigator.platform属性。
获取已安装插件数组,通过navigator.plugins属性访问。
获取用户代理字符串,使用navigator.userAgent属性,这是判断浏览器类型最常用的依据。

判断IE浏览器的四种JavaScript方法

以下是四种判断是否为IE浏览器的JavaScript方法:

第一种方法:


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

注意:该方法在IE9及以上版本的IE浏览器中会弹出“not ie”的结果,因为IE9支持addEventListener。

第二种方法:


if(document.all){ 
alert("IE"); 
}else{ 
alert("not ie"); 
}

第三种方法:


var navigatorName = "Microsoft Internet Explorer"; 
if( navigator.appName == navigatorName ){ 
alert("ie") 
}else{
alert("not ie") 
}

第四种方法: 此方法利用了IE与标准浏览器在处理数组toString方法时的差异。在标准浏览器中,如果数组最后一个元素后紧跟逗号,JavaScript引擎会自动忽略该逗号,从而改变数组长度判断逻辑。


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

注意:在IE9及以上版本中,此方法会弹出“这不是IE浏览器”的提示。

判断常用浏览器的通用逻辑

判断常见主流浏览器的通用方法:


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判断浏览器类型与版本

使用jQuery判断浏览器类型及版本号的方法:


$(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);

});

注意:jQuery从1.9版本开始,已移除.browser和.browser.version属性,取而代之的是$.support方法用于功能检测。

以上即为本文介绍的全部内容,希望这些示例能对您有所帮助。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章