使用IE浏览时禁用Javascript文件
所以我网站上的一个脚本是鼠标悬停脚本,它可以改变颜色和图像。但是,这在IE中表现不正常,因此如果用户正在使用IE,我想禁用该脚本 我该怎么做 我想要的示例:使用IE浏览时禁用Javascript文件,javascript,internet-explorer,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 /
//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
//如果未检测到IE(检测到任何其他浏览器)
//其他(即检测到的)
//不执行任何操作/不上载脚本
您可以使用条件注释:
<![if !IE]>
<script type="text/javascript" src="js/mousehover.js"></script>
<![endif]>
调试脚本可能更好,至少对于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>
…将保持加载顺序,但不能在XHTML中使用。“在IE中表现不正常”?对于现代IE来说,这很可能是固定的。可能与IE10(FWIW)不同。这是非IE CC的错误实现。您需要在顶部添加
并添加前缀,那么,我可以使用什么条件注释来处理所有IE?@DaftDev您测试过哪些IE版本?在IE(9、10、11)的最新版本中,脚本很可能运行良好。您能否编辑您的问题,使其包含mousehover.js
,并解释什么“不起作用”,如果它的大小合理的话?@DaftDev:在这个阶段,Rob的建议可能需要一个单独的问题。为什么您建议脚本解决方案(最后两个)而不是条件注释?条件注释更可靠,因为它们不能被欺骗。而且它比你最后介绍的两个选项更具可读性,我想。@RobW:IE10是否废除了ActiveXObject
?我试着处理IE的所有版本。@RobW:哇,他们真的很喜欢这个程序!:-)@贾斯汀:Edge不是IE。
<script>
if (typeof ActiveXObject === "undefined") {
document.write('<scr' + 'ipt src="js/mousehover.js"></scr' + 'ipt>');
}
</script>