最短的IE判斷代碼

Code:
var ie = ! "1";
僅僅需要7bytes!參見這篇文章,《32 bytes, ehr ... 9, ehr ... 7!!! to know if your browser is IE》,講述外國人是如何把IE的判定從32 bytes一步步縮簡成7 bytes!的故事
但這紀錄今年1月8日被一個俄國人打破了,現在只要6 bytes!它利用了IE與標準瀏覽器在處理數組的toString方法的差異做成的 。對于標準游覽器,如果數組里面最后一個字符為逗號,JS引擎會自動剔除它 。
Code:
復制代碼 代碼如下:
var ie = !-[1,];
var ie = !-[1,];
alert(ie);

如果從非IE的角度判定,可以省一個比特,因為我們做兼容時 , 絕大多數情況都是IE與非IE地開工 。
Code:
復制代碼 代碼如下:
var notIE = -[1,];
if(-[1,]){
alert("這不是IE瀏覽器!");
}else{
alert("這是IE瀏覽器!");
}
您可能感興趣的文章:最短的IE判斷var ie=!-[1,]分析一個奇葩的最短的 IE 版本判斷JS腳本解讀JavaScript代碼 var ie = !-[1,] 最短的IE判定代碼js 全世界最短的IE瀏覽器判斷代碼

相關經驗推薦