程式碼如下:
var isIE=!!window.Active.Active. var isIE6=isIE&&!window.XMLHttpRequest;
var isIE8=isIE&&!!document.documentMode;
var isIE7=isIE&&!isIE6&&!isIE8;
alert(”ie6″);
}else if (isIE8){
alert(”ie7″);
}
}
上述是一般常用的JavaScript用來偵測瀏覽器為IE哪個版本的程式碼。
而由於今年1月一位俄國人,利用了IE與標準瀏覽器在處理數組的toString方法的差異,完美的利用6bytes:!-[1,]完成了對是否為IE瀏覽器的檢測。而之前最短程式碼為:! ”v1″的7bytes。利用這些發現我們同樣可以讓我們的程式碼寫的更短更有藝術。如今偵測是否為IE6其實可以寫成
!-[1,]&&!window.XMLHttpRequest
這個程式碼在實際使用上還是相當有用的,既然能寫的更短何樂而不為呢。相對於之前那大段累贅的分析navigator然後正規比較的方式當然效率更高,程式碼更簡潔完全沒有不用道理。在JavaScript編寫過程中應該多多的利用諸如||、&&、!、!!這類的運算符,不光是在if()這樣的情況下。