码迷,mamicode.com
首页 > 其他好文 > 详细

!+"\v1" 用来“判断浏览器类型”还是用来“IE判断版本”的问题!

时间:2015-09-06 23:07:57      阅读:258      评论:0      收藏:0      [点我收藏+]

标签:

这种写法是利用各浏览器对转义字符"\v"的理解不同来判断浏览器类型。
在IE中,"\v"没有转义,得到的结果为"v"。
而在其他浏览器中"\v"表示一个垂直制表符,所以ie解析的"\v1" 为 "v1",而其他浏览器解析到 "\v1" 为 "1"。

在前面加上一个"+"是为了把后面的字符串转变成数字。
由于IE认为"\v1"为"v1",所以前面的加上加号无法转变成数字,为NaN
其他浏览器均能变成 1。

上面是百度查到的答案。

但是下面我测试的时候竟然出现了这样的问题!

if(!+"\v1"){
     alert("IE");

}else{
     alert("非IE");
 }

 

IE下(IE9):技术分享

谷歌下:技术分享

火狐下:技术分享

现在是不是不能通过这个判断了?个人觉得是这样的!

将IE的模式改成IE8,就得到我们想要的结果了.

技术分享

 

这个现在是不是能拿来判断IE9与IE8呢?- -

!+"\v1" 用来“判断浏览器类型”还是用来“IE判断版本”的问题!

标签:

原文地址:http://www.cnblogs.com/zqzjs/p/4787503.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!