1
 <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部分?它的意义和作用是什么?谢谢你,

4

1 回答 1

2

您不应该使用 Javascript 来嗅探 Internet Explorer。 欢迎使用 HTML 条件注释

检测 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 的浏览器的方法?你永远不可能如此确定。

于 2012-09-28T16:15:50.460 回答