caixw.com

把时髦的技术挂在嘴边,还不如把过时的技术记在心里!

几种简单的方法判断是否为IE浏览器

caixw

一些非常简短的代码实现判断是否是IE浏览器。这些实现是都是利用了IE的一些BUG实现的,现实代码中并不推荐使用。

示例1

var isIE = 0 /*@cc_on+1@*/;

这是利用了IE独有的条件编译,在其它浏览器中后面的注释会直接过滤掉,但IE中不会,当然如果使用一些代码压缩软件也有可能会把注释去掉。

示例2

var isIE = !-[1,];

在JS中"-"运算符会将其后的字符串转换成数字并取负,若不能转换,则返回NaN。而[1,2,3]数组则会返回数组成员组成的字符串"1,2,3"。这条语句在标准的ECMAScript解释器中将返回其唯一成员"1",并转换成数值-1,但是在IE这里有个BUG,导致返回值为"1, ",无法转换成数值。

示例3

var isIE = !+'\v1';

这依旧是IE的一个BUG,在标准的ECMAScript解释器中,\v会被转义成空白字符,其结果为数值1,而IE中\v不会被转义,就是字符“v“,所以其结果会是一个NaN。

评论(0)

添加评论

验证码

还没有漂亮的个人头像吧?

Gravatar申请一个吧!

没有中文输入法吗?试试这个!

  accesskey="enter"