判斷ie瀏覽器且給出ie版本

 js判斷是否是ie瀏覽器且給出ie版本

  1. 怎麼去看瀏覽器的內核等信息 ---- js的全局對象window子屬性navigator.userAgent,這個屬性是包含了瀏覽器信息的相關信息,包括我們需要的瀏覽器內核
  2. navigator.userAgent這個值取出來是個字符串,可以通過string的 indexOf方法或者正則匹配來驗證關鍵字符串
  3. ie11和edge的判斷方式有所不同
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瀏覽器
            }
        }

通過調用 IEVersion()可以獲得返回值,值如下

值類型 值說明
-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瀏覽器

 

 

 

 

 

 

 

 

 

JQuery 判斷瀏覽器及其版本

JQuery 中用 方法 jQuery.browser 來判斷瀏覽器,返回值可以爲: safari opera msie mozilla。

當然有時候我們還需要區分版本 這就要用到 jQuery.browser.version

function JudgeBroswer() { 
        if($.browser.msie) { 
            alert("this is msie!"); //IE
        } 
        else if($.browser.safari) 
        { 
            alert("this is safari!"); //Safari 
        } 
        else if($.browser.mozilla) 
        { 
            alert("this is mozilla!");  //Firefox
        } 
        else if($.browser.opera) { 
            alert("this is opera");     //Opera
        } 
    }

 JQuery 源碼

var userAgent = navigator.userAgent.toLowerCase();
    // Figure out what browser is being used 
    jQuery.browser = {
        version: (userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [])[1],
        safari: /webkit/.test(userAgent),
        opera: /opera/.test(userAgent),
        msie: /msie/.test(userAgent) && !/opera/.test(userAgent),
        mozilla: /mozilla/.test(userAgent) && !/(compatible|webkit)/.test(userAgent)
    };

jQuery 使用的是通過正則來匹配userAgent判斷瀏覽器的種類和版本. 例如:

//jQuery判斷瀏覽器是否爲IE6
$.browser.msie&&($.browser.version == "6.0")&&!$.support.style 

//同樣jQuery判斷瀏覽器是否爲IE7
$.browser.msie&&($.browser.version == "7.0") 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章