最短的IE判斷代碼
更新時間: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日被一個俄國人打破了,現(xiàn)在只要6 bytes!它利用了IE與標(biāo)準(zhǔn)瀏覽器在處理數(shù)組的toString方法的差異做成的。對于標(biāo)準(zhǔn)游覽器,如果數(shù)組里面最后一個字符為逗號,JS引擎會自動剔除它。
Code:
var ie = !-[1,];
var ie = !-[1,];
alert(ie);
如果從非IE的角度判定,可以省一個比特,因為我們做兼容時,絕大多數(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日被一個俄國人打破了,現(xiàn)在只要6 bytes!它利用了IE與標(biāo)準(zhǔn)瀏覽器在處理數(shù)組的toString方法的差異做成的。對于標(biāo)準(zhǔn)游覽器,如果數(shù)組里面最后一個字符為逗號,JS引擎會自動剔除它。
Code:
復(fù)制代碼 代碼如下:
var ie = !-[1,];
var ie = !-[1,];
alert(ie);
如果從非IE的角度判定,可以省一個比特,因為我們做兼容時,絕大多數(shù)情況都是IE與非IE地開工。
Code:
復(fù)制代碼 代碼如下:
var notIE = -[1,];
if(-[1,]){
alert("這不是IE瀏覽器!");
}else{
alert("這是IE瀏覽器!");
}
相關(guān)文章
javascript eval和JSON之間的聯(lián)系
本文著重解釋eval函數(shù)和JSON數(shù)據(jù)格式之間的聯(lián)系以及一些細(xì)節(jié)上的問題。2009-12-12如何通過遞歸方法實現(xiàn)用json-diff渲染json字符串對比結(jié)果
JsonDiff是一個高性能json差異發(fā)現(xiàn)工具,它幾乎可以發(fā)現(xiàn)任何JSON結(jié)構(gòu)的差異,并且將錯誤信息反饋給用戶,下面這篇文章主要給大家介紹了關(guān)于如何通過遞歸方法實現(xiàn)用json-diff渲染json字符串對比結(jié)果的相關(guān)資料,需要的朋友可以參考下2022-12-12微信小程序?qū)崿F(xiàn)即時通信聊天功能的實例代碼
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)即時通信聊天功能的實例代碼,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-08-08Layui之table中的radio在切換分頁時無法記住選中狀態(tài)的解決方法
今天小編就為大家分享一篇Layui之table中的radio在切換分頁時無法記住選中狀態(tài)的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09