1. 程式人生 > >js判斷是否是ie瀏覽器且給出ie版本

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()可以獲得返回值,值如下

值型別值說明
-1Number 不是ie瀏覽器
6Numberie版本<=6
7Numberie7
8Numberie8
9Numberie9
10Numberie10
11Numberie11
'edge'Stringie的edge瀏覽器

 希望可以幫到你們!