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());

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

  • 相关阅读:
    常用资源
    printf打印颜色
    Vue开发中踩坑-Day3
    Vue开发踩坑-Day2
    Vue开发中的踩坑-day1
    Python中virtualenv的使用
    第十一章:Python高级编程-协程和异步IO
    第十章:Python高级编程-多线程、多进程和线程池编程
    第九章:Python高级编程-Python socket编程
    自定义Element父子不关联的穿梭树
  • 原文地址:https://www.cnblogs.com/HCJJ/p/5249182.html
Copyright © 2011-2022 走看看