在网站前端开发中,浏览器兼容性是前端开发框架要解决的第一个问题,要解决兼容性问题就得首先准确判断出浏览器的类型及其版本,而判断浏览器的版本一般只能通过分析浏览器的userAgent才能知道.今天我们把各种判断方法都总结一下,希望对大家有所帮助
JS获取浏览器信息
浏览器代码名称:navigator.appCodeName
浏览器名称:navigator.appName
浏览器版本号:navigator.appVersion
对Java的支持:navigator.javaEnabled()
MIME类型(数组):navigator.mimeTypes
系统平台:navigator.platform
插件(数组):navigator.plugins
用户代理:navigator.userAgent
js判断IE浏览器的四种方法:
方法一:
if(window.addEventListener){ alert("not ie"); }else if(window.attachEvent){ alert("is ie"); }else{ alert("这种情况发生在不支持DHTML的老版本浏览器(现在一般都支持)") }
注释:该方法在IE9及以上IE版本会弹出not ie结果
方法二:
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方法的差异.对于标准游览器,如果数组里面最后一个字符为逗号,JS引擎会自动剔除它.
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判断浏览器类型和浏览器版本号的方法
$(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 方法