今天一個專案需要判斷IE版本號,又因為jQuery 2.0 去除了對瀏覽器版本號的判斷(它推薦特性檢測),於是就看到一老外寫的一段程式碼:
var _IE = (function(){
var v = 3, div = document.createElement ('div'), all = div.getElementsByTagName('i');
while (
div.innerHTML = '',
all[0]
);
return v > 4 ? v : false ;
}());
這段程式碼著實巧妙!既簡介、有向後相容!一般做法都是:正規搜尋 USER_AGENT ;
但因為歷史原因, USER_AGENT 一直都不準確,而且被各大廠商改的亂七八糟。
例如:
程式碼如下:
IE10: Moillaz 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 Geckecko
這都是些什麼亂七八糟的什麼字串啊。 。 。鬼知道 IE12會變成什麼! ! !
所以使用特性檢測、或USER-AGENT檢測既不可靠,也不向後相容!
強烈建議上述程式碼! ——————————————————————- 以前剛學會程式設計的時候,感覺自己知道的挺多,有很多東西可以寫; 可真正深入學習許多知識之後,卻痛苦的發現自己知道的實在是太少了!想寫點什麼,卻很難下筆。