您的位置:首页 > Web前端 > JavaScript

关于判断IE的JS代码

2014-02-19 09:33 134 查看
isIE = !-[1,] ,//判断是否为IE6~8
isIE6 = isIE && /msie 6/.test(navigator.userAgent.toLowerCase())

解释:由于IE6~8 对数组的处理问题, [1,]会形成由1,undefined组成的数组,而前面加一个 ‘-’(负号),JS就会强制转换为数字(Number([1,].toString()),而[1,].toString()结果为”1,“,不能转换为数字,结果为NaN,再取非,!NaN = true,能判断IE6~8 ,而对于其他浏览器,[1,]存储的仅是由1组成的数组,-[1,]强转为数字后为1,!1 = false,故能够区分!!而下面判断IE6,/msie
6/ 表示一个正则字面量对象,其拥有test方法,检测navigator对象的userAgent属性,看是否包含msie 6 字符串,故能够检测!至于前面做与运算,则是因为一些浏览器对userAgent的仿照(opera?)

参考:   http://www.cnblogs.com/akakingback/archive/2011/02/27/1966295.html 简单分析全世界最短的IE判断


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: