首页 > WEB开发 > JS代码判断IE6,IE7,IE8,IE9及其它浏览器的类型
2016
01-18

JS代码判断IE6,IE7,IE8,IE9及其它浏览器的类型

做网页有时候会用到JS检测IE的版本,下面是检测Microsoft Internet Explorer版本的几种代码! 在网站前端开发中,浏览器兼容性是前端开发框架要解决的第一个问题,要解决兼容性问题就得首先准确判断出浏览器的类型及其版本,而判断浏览器的版本一般只能通过分析浏览器的userAgent才能知道.各种浏览器的userAgent:

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)

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

Opera提供了专门的浏览器标志,就是window.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

Safari浏览器中有一个其他浏览器没有的openDatabase函数,可做为判断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

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

Apple Inc的userAgent

Apple iPhone : Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us)

AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/1A542a Safari/419.3 iPod Touch : Mozilla/5.0 (iPod; U; CPU iPhone OS 3_1_1 like Mac OS X; en-us)

AppleWebKit/528.18 (KHTML, like Gecko) Mobile/7C145 Apple iPad : Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B367 Safari/531.21.10

判断浏览器版本

if navigator.userAgent.indexOf(”MSIE”)>0) {} //判断是否IE浏览器if(isFirefox=navigator.userAgent.indexOf(”Firefox”)>0){ }判断是否火狐浏览器if(isSafari=navigator.userAgent.indexOf(”Safari”)>0) {}判断是否Safari浏览器
if(isSafari=navigator.userAgent.indexOf(”Opera”)>0) {}判断是否Opera浏览器
var sUserAgent = navigator.userAgent.toLowerCase();
var bIsIpad = sUserAgent .match(/ipad/i) == "ipad";    //判断是否为 ipad
var bIsIphoneOs = sUserAgent .match(/iphone os/i) == "iphone os";//判断是否为iphone os
var bIsMidp = sUserAgent .match(/midp/i) == "midp";  //判断是否为 midp
var bIsUc = sUserAgent .match(/ucweb/i) == "ucweb";  //判断是否为 ucweb
var bIsAndroid = sUserAgent .match(/android/i) == "android";  //判断是否为 android
var bIsCE = sUserAgent .match(/windows ce/i) == "windows ce";  //判断是否为 windows ce
var bIsWM = sUserAgent .match(/windows mobile/i) == "windows mobile";
//判断是否为windows mobile

判断浏览器类型

if navigator.userAgent.indexOf(”MSIE”)>0){ //是否是IE浏览器  :navigator.userAgent是描述用户代理信息。ie11已经不支持了,ie11不在包含MSIE字段
if navigator.userAgent.indexOf(”MSIE 6.0″)>0){ //IE6.0
if navigator.userAgent.indexOf(”MSIE 7.0″)>0){//IE7.0
if navigator.userAgent.indexOf(”MSIE 8.0″)>0){//IE8.0

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

var ie = !-[1,];  
alert(ie);

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

$(document).ready(function(){
    varbrow=$.browser;
    varbInfo="";
    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 方法

基于上述基础知识,我们就可以写出下面几种判断IE不同版本的js

<script type="text/javascript"> 
if(navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion .split(";")[1].replace(/[ ]/g,"")=="MSIE6.0") 
{ 
alert("IE 6.0"); 
} 
else if(navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion .split(";")[1].replace(/[ ]/g,"")=="MSIE7.0") 
{ 
alert("IE 7.0"); 
} 
else if(navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion .split(";")[1].replace(/[ ]/g,"")=="MSIE8.0") 
{ 
alert("IE 8.0"); 
} 
else if(navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion .split(";")[1].replace(/[ ]/g,"")=="MSIE9.0") 
{ 
alert("IE 9.0"); 
} 
</script>
<script type="text/javascript"> 
if(navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion.match(/7./i)=="7.") 
{ 
alert("IE 7.0"); 
} 
else if(navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion.match(/8./i)=="8.") 
{ 
alert("IE 8.0"); 
} 
else if(navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion.match(/9./i)=="9.") 
{ 
alert("IE 9.0"); 
} 
else if(navigator.appName == "Microsoft Internet Explorer") 
{ 
alert("IE 6.0"); 
} 
</script>
var isIE=!!window.ActiveXObject; 
var isIE6=isIE&&!window.XMLHttpRequest; 
var isIE8=isIE&&!!document.documentMode; 
var isIE7=isIE&&!isIE6&&!isIE8; 
if (isIE){ 
if (isIE6){ 
alert("ie6"); 
}else if (isIE8){ 
alert("ie8"); 
}else if (isIE7){ 
alert("ie7"); 
} 
}
if(!+'\v1' && !'1'[0]){ 
alert("ie6或ie7") 
}

JS判断不同浏览器

if(navigator.userAgent.indexOf("Opera") != -1) { 
alert('Opera'); 
} 
else if(navigator.userAgent.indexOf("MSIE") != -1) { 
alert('Internet Explorer'); 
} 
else if(navigator.userAgent.indexOf("Firefox") != -1) { 
alert('Firefox'); 
} 
else if(navigator.userAgent.indexOf("Netscape") != -1) { 
alert('Netscape'); 
} 
else if(navigator.userAgent.indexOf("Safari") != -1) { 
alert('Safari'); 
} 
else{ 
alert('无法识别的浏览器。'); 
}


作者:admin
admin
TTF的家园-www.ttfde.top 个人博客以便写写东西,欢迎喜欢互联网的朋友一起交流!

本文》有 1 条评论

  1. 成都川科卫校 成都川科卫校 说:

    还行

留下一个回复