JS判斷客戶瀏覽器是不是IE8瀏覽器、jQuery判斷瀏覽器內核

  今天在使用encharts的時候因爲要兼容IE8,因此最終決定在非IE8瀏覽器使用encharts,在IE8使用amcharts。因而須要使用JS判斷使用的瀏覽器版本:chrome

function IEVersion() {
            var userAgent = navigator.userAgent; //取得瀏覽器的userAgent字符串  
            var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判斷是否IE<11瀏覽器  
            var isEdge = userAgent.indexOf("Edge") > -1 && !isIE; //判斷是否IE的Edge瀏覽器  
            var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv:11.0") > -1;
            if(isIE) {
                var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
                reIE.test(userAgent);
                var fIEVersion = parseFloat(RegExp["$1"]);
                if(fIEVersion == 7) {
                    return 7;
                } else if(fIEVersion == 8) {
                    return 8;
                } else if(fIEVersion == 9) {
                    return 9;
                } else if(fIEVersion == 10) {
                    return 10;
                } else {
                    return 6;//IE版本<=7
                }   
            } else if(isEdge) {
                return 'edge';//edge
            } else if(isIE11) {
                return 11; //IE11  
            }else{
                return -1;//不是ie瀏覽器
            }
        }

 

 

返回值類型:瀏覽器

值類型 值說明
-1 Number  不是ie瀏覽器
6 Number ie版本<=6
7 Number ie7
8 Number ie8
9 Number ie9
10 Number ie10
11 Number ie11
'edge' String ie的edge瀏覽器

 

 

 

 

 

 

 

 

 

經過進一步的封裝能夠返回boolean值類型是不是IE8如下瀏覽器:ide

    function IEVersion() {
        var userAgent = navigator.userAgent; //取得瀏覽器的userAgent字符串  
        var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判斷是否IE<11瀏覽器  
        var isEdge = userAgent.indexOf("Edge") > -1 && !isIE; //判斷是否IE的Edge瀏覽器  
        var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv:11.0") > -1;
        if (isIE) {
            var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
            reIE.test(userAgent);
            var fIEVersion = parseFloat(RegExp["$1"]);
            if (fIEVersion == 7) {
                return 7;
            } else if (fIEVersion == 8) {
                return 8;
            } else if (fIEVersion == 9) {
                return 9;
            } else if (fIEVersion == 10) {
                return 10;
            } else {
                return 6; //IE版本<=7
            }
        } else if (isEdge) {
            return 'edge'; //edge
        } else if (isIE11) {
            return 11; //IE11  
        } else {
            return -1; //不是ie瀏覽器
        }
    }
    var sureIsIEAndLower8 = function() {
        var version = IEVersion();
        if (-1 == version) {
            return false;
        } else if (8 < version || "edge" == version) {
            return false;
        }else{
            return true;
        }
    }

 

返回true表示是IE8以及IE8如下瀏覽器,返回false表示不是IE或者是IE8以上。測試

 

 

 

補充今天在翻閱jQueryAPI的時候發現jQuery自帶檢測瀏覽器內核的方法:spa

例如個人測試:3d

        alert( JSON.stringify($.browser));
        alert( $.browser.version );

 

結果:code

chrome:blog

 

 

IE11:WC--IE11用的火狐的引擎字符串

 

:string

IE10:(microsoft internet explorer

 

 

 

火狐:

相關文章
相關標籤/搜索