我只加载一个JS文件只需要我的网页的一部分,只有当用户导航到页面上的该选项卡。错误处理在动态JS加载
var scriptFile = document.createElement("script");
scriptFile.setAttribute("type", "text/javascript");
scriptFile.setAttribute("src", scriptURL);
我想拿出一个错误处理机制,该动态加载,这样我就可以显示错误消息,如果JS负载超时或者如果JS是由URL指定的位置不可用。
这就是我想实现的错误处理(用于IE):
scriptFile.onreadystatechange = function() { // For IE
if (this.readyState == 'complete' || this.readyState == 'loaded') {
// Display content in tab
} else {
// Display error message
}
}
这导致一个问题。当一切正常,并且JS按预期方式出现时,我先收到错误消息,然后收到正确的内容。
经过一番头脑风暴之后,我发现readyState先从“未初始化”变为“加载”,然后再变为“已加载”。它在状态处于“加载”状态时显示错误消息。之后,状态正在改变为“正在加载”内容正在被显示。
任何想法如何处理这个错误最初不显示?
更新: 我需要即使显示错误信息JS不在所给的URL处。 即使在JS出现404错误的情况下,状态也会“完成”,并且页面正在尝试显示数据..显示JS错误。 我该如何处理? – 2009-11-05 11:35:03