zoukankan      html  css  js  c++  java
  • 完美且精准的 IE10- 版本检测。

    通过动态的写入条件注释的方式,来判断当前的ie浏览器的版本,优点是,对比userAgent字符匹配,要精准很多,应该说是100%正确,缺点就是要通过JS写入条件注释,拖慢页面的加载速度。

    如果对于只判断ie中的ie6,强烈建议使用以下方式:

    1 !-[1,] && !window.XMLHttpRequest;

    首先看一下IE下的条件注释的格式:

    <!--[if IE n]> <![endif]-->

    * 需要注意的是--与[ 之间没有空格。

    * IE10+不在支持条件注释。

    接着我们要知道一个小的知识点,那就是IE10 - 都支持document.all属性。

    好了,下面贴具体的代码:

     1     var _IE = (function(){
     2         var version = null;
     3         if(document.all){
     4             var div = document.createElement('div'),
     5                 all = div.getElementsByTagName('i'),
     6                 version = 5;
     7             while(div.innerHTML = '<!--[if gt IE '+ (++version) +']><i></i><![endif]-->',all[0]); 
     8             //while循环的第一个参数:循环的第一个参数是一个执行的语句,只要当前IE的版本号大于依次循环生成的版本号,那么就往div里面加一个i标签。
     9             //while循环的第二个参数是控制循环的条件。
    10             (-[1,]) && (version==6)?version=10:''; // 用于解决在IE10 时不支持条件注释的问题。
    11         }
    12         return version;
    13     })();

    调用方式:

    alert(ieVersion());

    ------------------------ 睡觉去~~~~~~~~~

  • 相关阅读:
    安装kafka
    linux安装jdk
    rabbitmq
    企业级docker镜像仓库----Harbor高可用部署
    kubernetes基础概念理解
    kubeadm安装kubernetes集群v1.14.3
    salt-stack深入学习
    salt-stack的数据系统Pillars
    salt-stack的数据系统Grains
    salt-stack
  • 原文地址:https://www.cnblogs.com/HCJJ/p/5249182.html
Copyright © 2011-2022 走看看