为IE浏览器制作一个条件?

时间:2012-09-28 16:00:25

标签: javascript

 <script language = "javascript">
  if (navigator.appName == "Microsoft Internet Explorer") {
begin = navigator.userAgent.indexOf("MSIE ") +
"MSIE ".length;
if(navigator.userAgent.indexOf(";", begin) > 0) {
end = navigator.userAgent.indexOf(";", begin);
} else {
end = navigator.userAgent.indexOf(")", begin)
+ 2;
}
document.getElementById("targetDiv").innerHTML =
"You are using Internet Explorer " +
navigator.userAgent.substring(begin, end);
}
}
    </script>

为什么在为IE浏览器制作条件时,添加了else部分?它的意义和影响是什么?谢谢,

1 个答案:

答案 0 :(得分:2)

您不应该使用Javascript来嗅探Internet Explorer。 Welcome to HTML conditional comments

用于检测IE:

<!--[if IE]>
    <!-- Add IE script file here -->
<![endif]-->

用于检测除IE之外的任何内容:

<!--[if !IE]> -->
    <!-- Add non-IE script file here -->
<!-- <![endif]-->

Javascript不是浏览器嗅探的好解决方案,因为您只应将其用作“逐步增强”网站的方式。如果您的网站在某人没有启用Javascript时会中断,那么这是不可接受的。构建您的网站并使用Javascript添加创建更好体验所需的效果。

如果您已经拥有检测Internet Explorer的本机方法,则尤其如此。为什么不使用一种适用于所有浏览器的方法,而不是一种可以在仅允许Javascript的浏览器中使用的方法?你永远不会那么肯定。