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


之前懶得寫判斷ie版本js,因為網上關於這方面的代碼太多了,所以從網上拷貝了一個,放到項目上才發現由於時效性的問題,代碼不生效。就自己寫一個吧。

  1. 怎么去看瀏覽器的內核等信息 ---- js的全局對象window子屬性navigator.userAgent,這個屬性是包含了瀏覽器信息的相關信息,包括我們需要的瀏覽器內核
  2. navigator.userAgent這個值取出來是個字符串,可以通過string的 indexOf方法或者正則匹配來驗證關鍵字符串
  3. ie11和edge的判斷方式有所不同,后面我會給出幾個圖
  4. 這個是ie11的userAgent
  5. 這個是edge的userAgent
  6. ie9的userAgent
  7. ie8的userAgent
  8. ie10的userAgent

     

 你一定發現了,ie11和edge的userAgent是和ie8,9,10差別蠻大的,那么對用的在寫js時需要特別判斷,下面給出我寫好的一段判斷是否是ie且給出ie版本號的js代碼段

 

        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瀏覽器

 

 

 

 

 

 

 

 希望可以幫到你們!

                    金木·晨    2017-06-15

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM