常用的 JavaScript 檢測浏覽器為 IE 是哪個版本的代碼,包括是否是最人極端厭惡的 ie6 識別與檢測。
復制代碼代碼如下:
var isIE=!!window.ActiveXObject;
var isIE6=isIE&&!window.XMLHttpRequest;
var isIE8=isIE&&!!document.documentMode;
var isIE7=isIE&&!isIE6&&!isIE8;
if (isIE){
if (isIE6){
alert("ie6");
}else if (isIE8){
alert("ie8");
}else if (isIE7){
alert("ie7");
}
}
然後是一個稍微短的 js 判斷是否 ie 的方法:
這個貌似是利用 IE 中 JScript所特有的條件編譯(或曰條件注釋)來區分 IE 和非 IE(這裡的IE/非IE均是針對內核而言,以IE為內核的浏覽器將視為IE)
一個最短的 js 判斷 ie 或非 ie 的代碼,大小僅僅 7bytes:
復制代碼代碼如下:
var ie = !+'\v1';
2010年1月,一位俄國人利用了IE與標准浏覽器在處理數組的toString方法的差異,僅6bytes就完美完成了是否IE浏覽器的檢測:
利用這些發現,我們可以使代碼寫的更短。如今檢測是否為 IE6 其實可以寫成:
之前那大段累贅的分析 navigator,然後正則比較的方式,後面的 js 方法是不是效率更高了!