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

經常使用的 JavaScript 檢測瀏覽器爲 IE 是哪一個版本的代碼,包括是不是最人極端厭惡的 ie6 識別與檢測。javascript

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)java

var ie = 0/*@cc_on+1@*/;

一個最短的 js 判斷 ie 或非 ie 的代碼,大小僅僅 7bytes:數組

var ie = !+'\v1';

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

var ie = !-[1,];

利用這些發現,咱們能夠使代碼寫的更短。現在檢測是否爲 IE6 其實能夠寫成:spa

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

以前那大段累贅的分析 navigator,而後正則比較的方式,後面的 js 方法是否是效率更高了!code

相關文章
相關標籤/搜索