关于判断IE的JS代码

来源:互联网 发布:课程设计c语言豆 编辑:程序博客网 时间:2024/05/21 15:49

isIE = !-[1,] ,//判断是否为IE6~8isIE6 = 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判断




0 0
原创粉丝点击