首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用javascript检测IE6?

如何用javascript检测IE6?
EN

Stack Overflow用户
提问于 2011-05-10 02:22:18
回答 3查看 4.2K关注 0票数 2

如何使用javascript检测internet explorer及更低版本?我知道navigator对象,但是它发送什么信息来标识他呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-05-10 02:26:08

我推荐使用条件注释来加载针对IEx.x的CSS或JS,就像@Jason McCreary建议的那样。但是,如果您深入了解JS插件或其他东西的代码,并且需要在JS中使用它,那么这是一个非常可靠的完成它的方法:

代码语言:javascript
复制
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;
}

如果你是一个极简主义者,有一点叛逆;我相信这个方法确实有效:

代码语言:javascript
复制
if (typeof document.body.style.maxHeight != "undefined") {
    // IE 7, moz, saf, opera 9
    } else{
    // IE6, older browsers
}
票数 6
EN

Stack Overflow用户

发布于 2011-05-10 02:27:43

如果您可以访问代码,我建议您使用conditional comments。这是100%和更少的JavaScript。

代码语言:javascript
复制
<!--[if IE 6]>
<script type="text/javascript">
var IE6 = true;
</script>
<![endif]-->

如果不是,传统的JavaScript方法包括分析navigator或其他对象检测来嗅探浏览器。

票数 5
EN

Stack Overflow用户

发布于 2011-05-10 04:11:18

正如Jason McCreary所建议的,条件注释无疑是最好的方法。条件注释可以只与JavaScript一起使用,如下所示:

代码语言: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);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5940845

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档