似乎IE8推迟了javascript,但也没有阻止。我已经设置了一个测试环境来证明这一点。这是html页面(用你的服务器替换192.168.1.xxx):
<html>
<head>
<title>IE Pains</title>
<script type='text/javascript' src='http://192.168.1.xxx/ietest/js.js'></script>
<script type='text/javascript'>
scream('hello world');
</script>
</head>
<body>
</body>
</html>
和js文件:
function scream( str ) {
alert( str );
}
我看到这个错误,或者IE无法识别尖叫功能,因为它还没有加载js.js?
编辑:我在我的服务器上创建了这些页面:http://www.codenothing.com/ietest/,它在IE8中正常加载,但是将其下载到本地计算机,并且通过本地网络似乎失败了。我已经通过192.168协议在2个不同的无线网络上证实了这一点。
答案 0 :(得分:2)
除非存在async
或defer
属性,否则所有浏览器(包括IE8)都会阻止脚本。大量的脚本依赖于阻止解析的脚本元素的可预测性,包括库和框架(例如,如果浏览器没有等待jQuery脚本完成,你如何声明$(document).ready()
?)
检查以下内容:
您甚至可以尝试使用jQuery库:
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.js"></script>
<script type="text/javascript">
$(function(){
alert("test");
});
</script>