为什么IE8加载javascripts不完整?

时间:2010-11-14 17:40:37

标签: javascript internet-explorer-8

我在WinXP上以正常模式运行IE8(无论兼容性是否打开时)。我正在对几年前编写的rails应用程序进行维护。通常当我加载页面和/或刷新页面时,它会报告不同的javascript错误。当我查看Developer工具中的错误时,似乎没有完全加载javascript文件。因此,错误通常与语法相关,例如'}' expected

3 个答案:

答案 0 :(得分:1)

对象文字或数组声明中的尾随逗号?有些浏览器接受这个没有错误,IE没有。

// Trailing commas are bad
var someArray = [
    "thing",
    "last",
];
var someObject = {
    one: "thing",
    after: "another",
};

正如galambalazs在他的评论中所说,jslint会为你找到这样的问题。

答案 1 :(得分:0)

Cntrl + F您的javascript文件并查找流氓“返回”声明。

答案 2 :(得分:0)

我在旧版本的IE上遇到了这个问题。它在测试工具中永远不会重现,并且在服务器日志中没有留下任何痕迹,但始终影响IE 6负载的很小一部分。

解决方案是让嵌入式HTML文件仔细检查JS是否已加载。

foo.js:

// do all the real work.

// As the last statement, set a variable indicating completion.
foo_js_fully_loaded = true;

foo.html:

<script src=foo.js></script>
<script>if (!foo_js_fully_loaded) { /* reload the page */ }</script>