浏览器的内核种类及检测

1、Trident内核:IE最先开发或使用的,也称IE内核,360浏览器使用的也是IE内核;
2、Webkit内核:谷歌chrome浏览器最先开发或使用,也叫谷歌内核,枫树浏览器、太阳花使用的也是谷歌内核;
3、Gecko内核: Netscape6开始采用的内核,后来的Mozilla FireFox (火狐浏览器) 也采用了该内核,K-Meleon浏览器也是使用这种内核;
4、Presto内核:目前只有Opera浏览器采用该内核
此外,由于IE浏览器在国内的普及率非常高,所以造成了很多网上银行和支付系统只支持IE的Trident内核,其他浏览器访问根本无法进行正常支付和转账等业务。这就造成了经常在网上购物的人离不开Trident内核的IE浏览器。但是Trident内核的速度和兼容性上又是在比不上Chrome浏览器的WebKit内核和Firefox浏览器的Gecko内核。于是双核浏览器应运而生,比如傲游、枫树浏览器(ChromePlus)、搜狗高速浏览器。

js代码判断浏览器种类IE、FF、Opera、Safari、chrome及版本

因为ie10-ie11的版本问题,不再支持document.all判断,所以ie判断函数要重新写了

?
1
2
3
4
5
6
function isIE() { //ie?
       if (!!window.ActiveXObject || "ActiveXObject" in window)
         return true ;
       else
         return false ;
     }

第一种,只区分浏览器,不考虑版本

复制代码代码如下:
function myBrowser(){     var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串     var isOpera = userAgent.indexOf("Opera") > -1;     if (isOpera) {         return "Opera"     }; //判断是否Opera浏览器     if (userAgent.indexOf("Firefox") > -1) {         return "FF";     } //判断是否Firefox浏览器     if (userAgent.indexOf("Chrome") > -1){   return "Chrome";  }     if (userAgent.indexOf("Safari") > -1) {         return "Safari";     } //判断是否Safari浏览器     if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera) {         return "IE";     }; //判断是否IE浏览器 }

//以下是调用上面的函数 var mb = myBrowser(); if ("IE" == mb) {     alert("我是 IE"); } if ("FF" == mb) {     alert("我是 Firefox"); } if ("Chrome" == mb) {     alert("我是 Chrome"); } if ("Opera" == mb) {     alert("我是 Opera"); } if ("Safari" == mb) {     alert("我是 Safari"); }

第二种,区分浏览器,并考虑IE5.5 6 7 8

复制代码代码如下:
function myBrowser(){     var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串     var isOpera = userAgent.indexOf("Opera") > -1; //判断是否Opera浏览器     var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判断是否IE浏览器     var isFF = userAgent.indexOf("Firefox") > -1; //判断是否Firefox浏览器     var isSafari = userAgent.indexOf("Safari") > -1; //判断是否Safari浏览器     if (isIE) {         var IE5 = IE55 = IE6 = IE7 = IE8 = false;         var reIE = new RegExp("MSIE (\\d+\\.\\d+);");         reIE.test(userAgent);         var fIEVersion = parseFloat(RegExp["$1"]);         IE55 = fIEVersion == 5.5;         IE6 = fIEVersion == 6.0;         IE7 = fIEVersion == 7.0;         IE8 = fIEVersion == 8.0;         if (IE55) {             return "IE55";         }         if (IE6) {             return "IE6";         }         if (IE7) {             return "IE7";         }         if (IE8) {             return "IE8";         }     }//isIE end     if (isFF) {         return "FF";     }     if (isOpera) {         return "Opera";     } }//myBrowser() end //以下是调用上面的函数 if (myBrowser() == "FF") {     alert("我是 Firefox"); } if (myBrowser() == "Opera") {     alert("我是 Opera"); } if (myBrowser() == "Safari") {     alert("我是 Safari"); } if (myBrowser() == "IE55") {     alert("我是 IE5.5"); } if (myBrowser() == "IE6") {     alert("我是 IE6"); } if (myBrowser() == "IE7") {     alert("我是 IE7"); } if (myBrowser() == "IE8") {     alert("我是 IE8"); }

下面给出一个判断当前浏览器是IE的JS代码.

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




你可能感兴趣的:(web前端,计算机基础课,JavaScript)