Javascript 为什么IE8不完全加载Java脚本?
我在WinXP上以正常模式运行IE8(无论兼容性是否打开)。我正在对几年前编写的rails应用程序进行维护。通常,当我加载页面和/或刷新页面时,它会报告不同的javascript错误。当我查看开发人员工具中的错误时,似乎javascript文件尚未完全加载。因此,这些错误通常与语法有关,例如,javascript文件中的Cntrl+F和恶意“return”语句。Cntrl+F和恶意“return”语句语句。我在旧版本的IE上遇到了这个问题。这个问题在测试线束中永远无法再现,在服务器日志中也没有留下任何痕迹,但始终影响了一小部分IE 6负载 解决方案是让嵌入HTML文件仔细检查JS是否已加载 foo.js:Javascript 为什么IE8不完全加载Java脚本?,javascript,internet-explorer-8,Javascript,Internet Explorer 8,我在WinXP上以正常模式运行IE8(无论兼容性是否打开)。我正在对几年前编写的rails应用程序进行维护。通常,当我加载页面和/或刷新页面时,它会报告不同的javascript错误。当我查看开发人员工具中的错误时,似乎javascript文件尚未完全加载。因此,这些错误通常与语法有关,例如,javascript文件中的Cntrl+F和恶意“return”语句。Cntrl+F和恶意“return”语句语句。我在旧版本的IE上遇到了这个问题。这个问题在测试线束中永远无法再现,在服务器日志中也没有留
// 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>
如果(!foo_js_full_loaded){/*重新加载页面*/}
我在旧版本的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>
如果(!foo_js_full_loaded){/*重新加载页面*/}
对象文字或数组声明中的尾随逗号?有些浏览器会毫无错误地接受这一点,IE不会
// Trailing commas are bad
var someArray = [
"thing",
"last",
];
var someObject = {
one: "thing",
after: "another",
};
正如galambalazs在他的评论中所建议的,将为您解决类似的问题。在对象文字或数组声明中使用逗号结尾?有些浏览器会毫无错误地接受这一点,IE不会
// Trailing commas are bad
var someArray = [
"thing",
"last",
];
var someObject = {
one: "thing",
after: "another",
};
正如galambalazs在其评论中所建议的,将为您解决类似的问题。您是否已验证源文件与加载的文件不匹配?仅仅因为其他浏览器没有错误,并不意味着javascript中没有错误。有些浏览器更宽容。ie由于部分负载而出错的可能性很小;然而,部分问题是这个应用程序使用了一堆库脚本,比如几年前jquery的部分脚本和其他脚本;他们似乎没有特别好地衰老;主应用程序包装中包含大约20+个js,您是否验证了源文件与加载的文件不匹配?仅仅因为其他浏览器没有错误,并不意味着javascript中没有错误。有些浏览器更宽容。ie由于部分负载而出错的可能性很小;然而,部分问题是这个应用程序使用了一堆库脚本,比如几年前jquery的部分脚本和其他脚本;他们似乎没有特别好地衰老;主应用程序包装中包含大约20+个js