IE浏览器探测
时间:2010-08-21 来源:BlueDream
前端发展至今.浏览器探测可谓是五花八门.这里再记录一个运用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/
相关阅读 更多 +