今天一個項目中需要判斷IE版本號碼,又因為 jQuery 2.0 去除了對瀏覽器版本號碼的判斷(它推薦特性檢測),於是就看到一老外寫的一段代碼:
代碼如下 |
複製代碼 |
var _IE = (function(){ var v = 3, div = document.createElement('div'), all = div.getElementsByTagName('i'); while ( div.innerHTML = '<!--[if gt IE ' + (++v) + ']><i></i><![endif]-->', all[0] ); return v > 4 ? v : false ; }()); |
這段代碼著實巧妙!既簡介、有向後相容!一般做法都是:正則搜尋 USER_AGENT ;
但因為曆史原因, USER_AGENT 一直都不準確,而且被各大廠商改的亂七八糟。
比如:
IE10 : Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)
IE11 : Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv 11.0) like Gecko
強烈推薦上述代碼!
自己寫的一款
代碼如下 |
複製代碼 |
<span id="Css"></span> <script> if(navigator.userAgent.indexOf("MSIE")>0) { //是否是IE瀏覽器 if(navigator.userAgent.indexOf("MSIE 6.0")>0) { //6.0 使用1.CSS Css.innerHTML='<link href="1.css" rel="stylesheet" type="text/css" >' } if(navigator.userAgent.indexOf("MSIE 7.0")>0) { //7.0 使用2.CSS Css.innerHTML='<link href="2.css" rel="stylesheet" type="text/css" >' } }else { //否則使用3.CSS 還有具體的瀏覽器 你可以用navigator.userAgent 去擷取資訊 具體使用 看你自己 Css.innerHTML='<link href="3.css" rel="stylesheet" type="text/css" >' } </script>
|
下面推薦一個幾句就可以判斷ie瀏覽器的代碼
代碼如下 |
複製代碼 |
<script type='text/javascript'> notie = -[1,]; if(-[1,]){ // 標準瀏覽器代碼 }else{ // ie only的代碼 } </script> |