Code:
var ie = !+"\v1";
僅僅需要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浏覽器!");
}