zoukankan      html  css  js  c++  java
  • !+"v1" 用来“判断浏览器类型”还是用来“IE判断版本”的问题!

    这种写法是利用各浏览器对转义字符"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呢?- -

  • 相关阅读:
    JS中attribute和property的区别
    px(像素)、pt(点)、ppi、dpi、dp、sp之间的关系
    计算几何
    动态凸包
    斜率DP题目
    斜率DP个人理解
    后缀数组题目
    CF#190DIV.1
    MANACHER---求最长回文串
    扩展KMP题目
  • 原文地址:https://www.cnblogs.com/zqzjs/p/4787503.html
Copyright © 2011-2022 走看看