JavaScript 判斷IE瀏覽器的版本包括IE11

admin發表於2018-12-21

獲取IE瀏覽器的版本在以前非常的好操作,但是由於IE11瀏覽器的出現,導致很多以前常用的方法已經無能為力。

下面介紹一下如何判斷IE瀏覽器的版本,並且能夠相容IE11瀏覽器。

程式碼例項如下:

[HTML] 純文字檢視 複製程式碼執行程式碼
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<script type="text/javascript">
var userAgent = navigator.userAgent,   
rMsie = /(msie\s|trident.*rv:)([\w.]+)/,   
rFirefox = /(firefox)\/([\w.]+)/,   
rOpera = /(opera).+version\/([\w.]+)/,   
rChrome = /(chrome)\/([\w.]+)/,   
rSafari = /version\/([\w.]+).*(safari)/;  
var browser;  
var version;  
var ua = userAgent.toLowerCase();  
function uaMatch(ua){  
  var match = rMsie.exec(ua);  
  if(match != null){  
    return { browser : "IE", version : match[2] || "0" };  
  }  
  var match = rFirefox.exec(ua);  
  if (match != null) {  
    return { browser : match[1] || "", version : match[2] || "0" };  
  }  
  var match = rOpera.exec(ua);  
  if (match != null) {  
    return { browser : match[1] || "", version : match[2] || "0" };  
  }  
  var match = rChrome.exec(ua);  
  if (match != null) {  
    return { browser : match[1] || "", version : match[2] || "0" };  
  }  
  var match = rSafari.exec(ua);  
  if (match != null) {  
    return { browser : match[2] || "", version : match[1] || "0" };  
  }  
  if (match != null) {  
    return { browser : "", version : "0" };  
  }  
}  
var browserMatch = uaMatch(userAgent.toLowerCase());  
if (browserMatch.browser){  
  browser = browserMatch.browser;  
  version = browserMatch.version;  
}  
document.write(browser+version);          
</script>
</script>
</head>
<body>
 
</body>
</html>

上面的程式碼實現了判斷功能,下面介紹一下它的實現原理,希望能夠給需要的朋友帶來幫助。

先來看一段程式碼:

[JavaScript] 純文字檢視 複製程式碼
navigator.userAgent

IE11下的資訊截圖:

a:3:{s:3:\"pic\";s:43:\"portal/201812/21/111816ap678pc5bclwbuc8.jpg\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

然後使用相應的正規表示式進行匹配。IE11和以前版本的瀏覽器還是有較大差別的,以前的版本,這個資訊中包含msie,IE11中沒有了,新增加trident,後面跟著瀏覽器的版本號碼,這一點要特別注意一下。

相關文章