如果使用IE浏览则禁用Javascript文件

时间:2013-07-15 11:00:16

标签: javascript internet-explorer

因此,我网站上的一个脚本是一个鼠标悬停脚本,可以改变颜色和图像。但是,这在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

2 个答案:

答案 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]>