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

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

  • 相关阅读:
    TOJ 5021: Exchange Puzzle
    Educational Codeforces Round 26
    2017 Multi-University Training Contest
    TOJ 5020: Palindromic Paths
    数论之 莫比乌斯函数
    TOJ 4475: The Coolest Sub-matrix
    Game on Tree
    python 线程
    python 管道、数据共享、进程池
    python 守护进程、同步锁、信号量、事件、进程通信Queue
  • 原文地址:https://www.cnblogs.com/HCJJ/p/5249182.html
Copyright © 2011-2022 走看看