因此,我网站上的一个脚本是一个鼠标悬停脚本,可以改变颜色和图像。但是,这在IE中表现不正常,所以如果用户使用IE,我想禁用该脚本。
我该怎么做?
我想要的例子:
//if IE not detected(any other browser detected)
<script type="text/javascript" src="js/mousehover.js"></script>
//else (IE detected)
//do nothing / don't upload the script
答案 0 :(得分:2)
调试脚本可能更好,至少对于IE8 +。
如果你真的想避免在IE上加载脚本,我相信它是唯一一个ActiveXObject
的浏览器,所以最简单的事情可能就是在mousehover.js
中对你的代码进行保护:
if (typeof ActiveXObject !== "undefined") {
// IE, don't do the mouse hover stuff
}
或者如果你不在IE上下载那个JS真的很重要,你可以用两种方式做到这一点:
<script>
(function() {
if (typeof ActiveXObject === "undefined") {
var s = document.createElement('script');
s.src = "js/mousehover.js";
document.documentElement.appendChild(s);
}
})();
</script>
这将仅在非IE上加载脚本。但请注意,您拥有的任何后续脚本都会不等待加载该脚本,因此如果存在依赖项,则需要注意它们。
或使用document.write
:
<script>
if (typeof ActiveXObject === "undefined") {
document.write('<scr' + 'ipt src="js/mousehover.js"></scr' + 'ipt>');
}
</script>
...将维护加载顺序,但不能在XHTML中使用。
答案 1 :(得分:0)
您可以使用条件评论:
<![if !IE]>
<script type="text/javascript" src="js/mousehover.js"></script>
<![endif]>