如何使用javascript检测internet explorer及更低版本?我知道navigator对象,但是它发送什么信息来标识他呢?
发布于 2011-05-10 02:26:08
我推荐使用条件注释来加载针对IEx.x的CSS或JS,就像@Jason McCreary建议的那样。但是,如果您深入了解JS插件或其他东西的代码,并且需要在JS中使用它,那么这是一个非常可靠的完成它的方法:
function getInternetExplorerVersion()
// Returns the version of Internet Explorer or a -1
// (indicating the use of another browser).
{
var rv = -1; // Return value assumes failure.
if (navigator.appName == 'Microsoft Internet Explorer')
{
var ua = navigator.userAgent;
var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
if (re.exec(ua) != null)
rv = parseFloat( RegExp.$1 );
}
return rv;
}如果你是一个极简主义者,有一点叛逆;我相信这个方法确实有效:
if (typeof document.body.style.maxHeight != "undefined") {
// IE 7, moz, saf, opera 9
} else{
// IE6, older browsers
}发布于 2011-05-10 02:27:43
如果您可以访问代码,我建议您使用conditional comments。这是100%和更少的JavaScript。
<!--[if IE 6]>
<script type="text/javascript">
var IE6 = true;
</script>
<![endif]-->如果不是,传统的JavaScript方法包括分析navigator或其他对象检测来嗅探浏览器。
发布于 2011-05-10 04:11:18
正如Jason McCreary所建议的,条件注释无疑是最好的方法。条件注释可以只与JavaScript一起使用,如下所示:
var div = document.createElement("div");
div.innerHTML = "<!--[if lte IE 6]><i></i><![endif]-->";
var isIe6orLower = !!div.getElementsByTagName("i").length;
alert("Is IE 6 or lower: " + isIe6orLower);https://stackoverflow.com/questions/5940845
复制相似问题