它可能更好地调试脚本,至少在IE8 +。
如果你真的想避免加载在IE浏览器的脚本,不过,我相信这是与ActiveXObject
唯一的浏览器,所以最简单的事情可能只是把一个后卫在你的代码mousehover.js
:
if (typeof ActiveXObject !== "undefined") {
// IE, don't do the mouse hover stuff
}
或者,如果它真的很重要,你不要下载JS在IE浏览器,你可以这样做有两种方式:
<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中使用。
*“在IE中表现不正常”*?对于现代IE来说,这可能是非常可能的。 –
[包括不同的JavaScript文件,取决于浏览器?]的可能的重复(http://stackoverflow.com/questions/3688769/include-different-javascript-file-depending-on-browser) –