IE浏览器探测
2010-08-21 23:00 BlueDream 阅读(690) 评论(0) 收藏 举报前端发展至今.浏览器探测可谓是五花八门.这里再记录一个运用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/