IE不阻止javascript

时间:2010-06-08 19:03:01

标签: javascript internet-explorer

似乎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个不同的无线网络上证实了这一点。

1 个答案:

答案 0 :(得分:2)

除非存在asyncdefer属性,否则所有浏览器(包括IE8)都会阻止脚本。大量的脚本依赖于阻止解析的脚本元素的可预测性,包括库和框架(例如,如果浏览器没有等待jQuery脚本完成,你如何声明$(document).ready()?)

检查以下内容:

  • JS文件中没有语法错误或拼写错误。
  • JS文件的路径是正确的。
  • 该函数在全局范围内声明。

您甚至可以尝试使用jQuery库:

<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.js"></script>
<script type="text/javascript">
$(function(){
    alert("test");
});
</script>