最短的IE判斷代碼
更新時(shí)間:2011年03月13日 23:46:12 作者:
以前最短的IE判定借助于IE不支持垂直制表符的特性搞出來的。
Code:
var ie = !+"\v1";
僅僅需要7bytes!參見這篇文章,《32 bytes, ehr ... 9, ehr ... 7!!! to know if your browser is IE》,講述外國人是如何把IE的判定從32 bytes一步步縮簡成7 bytes!的故事
但這紀(jì)錄今年1月8日被一個(gè)俄國人打破了,現(xiàn)在只要6 bytes!它利用了IE與標(biāo)準(zhǔn)瀏覽器在處理數(shù)組的toString方法的差異做成的。對于標(biāo)準(zhǔn)游覽器,如果數(shù)組里面最后一個(gè)字符為逗號(hào),JS引擎會(huì)自動(dòng)剔除它。
Code:
var ie = !-[1,];
var ie = !-[1,];
alert(ie);
如果從非IE的角度判定,可以省一個(gè)比特,因?yàn)槲覀冏黾嫒輹r(shí),絕大多數(shù)情況都是IE與非IE地開工。
Code:
var notIE = -[1,];
if(-[1,]){
alert("這不是IE瀏覽器!");
}else{
alert("這是IE瀏覽器!");
}
var ie = !+"\v1";
僅僅需要7bytes!參見這篇文章,《32 bytes, ehr ... 9, ehr ... 7!!! to know if your browser is IE》,講述外國人是如何把IE的判定從32 bytes一步步縮簡成7 bytes!的故事
但這紀(jì)錄今年1月8日被一個(gè)俄國人打破了,現(xiàn)在只要6 bytes!它利用了IE與標(biāo)準(zhǔn)瀏覽器在處理數(shù)組的toString方法的差異做成的。對于標(biāo)準(zhǔn)游覽器,如果數(shù)組里面最后一個(gè)字符為逗號(hào),JS引擎會(huì)自動(dòng)剔除它。
Code:
復(fù)制代碼 代碼如下:
var ie = !-[1,];
var ie = !-[1,];
alert(ie);
如果從非IE的角度判定,可以省一個(gè)比特,因?yàn)槲覀冏黾嫒輹r(shí),絕大多數(shù)情況都是IE與非IE地開工。
Code:
復(fù)制代碼 代碼如下:
var notIE = -[1,];
if(-[1,]){
alert("這不是IE瀏覽器!");
}else{
alert("這是IE瀏覽器!");
}
相關(guān)文章
JavaScript事件學(xué)習(xí)小結(jié)(三)js事件對象
這篇文章主要介紹了JavaScript事件學(xué)習(xí)小結(jié)(三)js事件對象的相關(guān)資料,非常不錯(cuò)具有參考借鑒價(jià)值,需要的朋友可以參考下2016-06-06
怎樣用Javascript實(shí)現(xiàn)建造者模式
這篇文章主要介紹了怎樣用Javascript實(shí)現(xiàn)建造者模式,想學(xué)習(xí)設(shè)計(jì)模式的同學(xué),可以參考下2021-04-04
微信小程序bindinput與bindsubmit的區(qū)別實(shí)例分析
這篇文章主要介紹了微信小程序bindinput與bindsubmit的區(qū)別,結(jié)合實(shí)例形式分析了微信小程序bindinput與bindsubmit的具體功能、用法及相關(guān)使用區(qū)別,需要的朋友可以參考下2019-04-04
JS實(shí)現(xiàn)簡單的天數(shù)計(jì)算器完整實(shí)例
這篇文章主要介紹了JS實(shí)現(xiàn)簡單的天數(shù)計(jì)算器,結(jié)合完整實(shí)例形式分析了javascript針對日期的獲取及天數(shù)運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下2017-04-04
頁面加載完畢后滾動(dòng)條自動(dòng)滾動(dòng)一定位置
希望頁面加載完畢后向左自動(dòng)滾動(dòng)一定位置,下面有個(gè)不錯(cuò)的方法可以輕松幫大家實(shí)現(xiàn)下2014-02-02

