Internet Explorer - 如何使用javascript检测IE6

internet explorer - How detect IE6 with javascript?

本文关键字:javascript 检测 IE6 何使用 Explorer Internet      更新时间:2023-09-26

如何使用javascript检测Internet Explorer和更低版本?我知道导航器对象,但它发送什么信息来识别他?

我建议使用条件注释来加载针对IE x.x的CSS或JS@Jason。 但是,如果您深入了解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
}

如果您可以访问代码,我建议您使用条件注释。它是100%和更少的JavaScript。

<!--[if IE 6]>
<script type="text/javascript">
var IE6 = true;
</script>
<![endif]-->

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

条件注释很容易成为最好的方法,正如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);