前端发展至今.浏览器探测可谓是五花八门.这里再记录一个运用IE的条件编译来探测IE浏览器的各版本.

var ie = (function() {
    var undef,
        v = 3,
        div = document.createElement('div'),
        all = div.getElementsByTagName('i');
    while (
        div.innerHTML = '<!--[if gt IE ' + (++v) + ']><i></i><![endif]-->',
        all[0]
    );
    
    return v > 4 ? v : undef;
})();

这个代码的意图就是.通过while循环.将条件编译写入到div即页面中.然后直接取注释下的这个元素.直到取不到就退出循环. 这样就获得了IE的最终版本.

如果不是IE那么就是undefined.

// ----------------------------------------------------------
// A short snippet for detecting versions of IE in JavaScript
// without resorting to user-agent sniffing
// ----------------------------------------------------------
// If you're not in IE (or IE version is less than 5) then:
//     ie === undefined
// If you're in IE (>=5) then you can determine which version:
//     ie === 7; // IE7
// Thus, to detect IE:
//     if (ie) {}
// And to detect the version:
//     ie === 6 // IE6
//     ie > 7 // IE8, IE9 ...
//     ie < 9 // Anything less than IE9
// ----------------------------------------------------------

原文地址:http://james.padolsey.com/javascript/detect-ie-in-js-using-conditional-comments/ 

相关文章:

  • 2021-11-23
  • 2022-02-28
  • 2021-12-03
  • 2022-01-20
  • 2022-12-23
  • 2022-12-23
  • 2021-11-23
  • 2022-02-26
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-06-15
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-14
相关资源
相似解决方案