代碼如下:
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″);
}
}
上述是一般常用的JavaScript用來檢測(cè)瀏覽器為IE哪個(gè)版本的代碼。
而由于今年1月一位俄國(guó)人,利用了IE與標(biāo)準(zhǔn)瀏覽器在處理數(shù)組的toString方法的差異,完美的利用6bytes:!-[1,]完成了對(duì)是否為IE瀏覽器的檢測(cè) 。而之前最短代碼為:!+”v1″的7bytes。利用這些發(fā)現(xiàn)我們同樣可以使我們的代碼寫的更短更有藝術(shù)。如今檢測(cè)是否為IE6其實(shí)可以寫成
!-[1,]&&!window.XMLHttpRequest
這個(gè)代碼在實(shí)際使用中還是頗為有用的,既然能寫的更短何樂而不為呢。相對(duì)于之前那大段累贅的分析navigator然后正則比較的方式當(dāng)然效率更高,代碼更簡(jiǎn)潔完全沒有不用道理。在JavaScript編寫過程中應(yīng)該多多的利用諸如||、&&、!、!!這類的運(yùn)算符,不光是在if()這樣的情況下。
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com