1. 程式人生 > >最短JS判斷是否為IE6(IE的寫法)

最短JS判斷是否為IE6(IE的寫法)

常用的 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)

var ie = 0/*@[email protected]*/;

一個最短的 js 判斷 ie 或非 ie 的程式碼,大小僅僅 7bytes:

var ie = !+'\v1';

2010年1月,一位俄國人利用了IE與標準瀏覽器在處理陣列的toString方法的差異,僅6bytes就完美完成了是否IE瀏覽器的檢測:

var ie = !-[1,];

利用這些發現,我們可以使程式碼寫的更短。如今檢測是否為 IE6 其實可以寫成:

var ie6=!-[1,]&&!window.XMLHttpRequest;