IE操作已中止 - 没有常规修复工作

时间:2009-05-06 21:24:58

标签: javascript jsp internet-explorer

首先,我一直在研究这个“操作中止”的错误/错误,看起来好几个星期,所以如果你不熟悉它,这里有几个相关的问题和好的文章:

Why does ASP.NET cause the “Operation Aborted” Error in IE7?(问题)
Detecting cause of IE’s Operation Aborted Issue(问题)
Official Microsoft Knowledge base
Official IE Blog

现在这是我的问题:

首先我尝试移动所有< script>元素到我身体标签的末尾。没工作。然后我将所有js函数重构为一个在< head>中链接的外部文件,无论如何,我的所有js函数都是从onclick或onkeypress调用的。仍然得到错误。我的一个.js文件的最后一行是

document.onload = setTimeout("foo()",500);

所以我把它移到< body onload =“setTimeout('foo()',500);”>。我仍然收到这个错误。我不知道该怎么办。我正在编辑DOM元素的唯一地方是foo()。请帮忙!

关于我的设置:

Java,Hibernate,Struts,JSP ......我认为这一切都是相关的。

我在这里缺少什么?

提前致谢。

3 个答案:

答案 0 :(得分:2)

这有几个原因。其中两个最常见的是:

1)在文档完全加载之前尝试修改DOM的脚本

对象或数组声明中的

2)Trailing commas

第二个通常比较容易找到,而第一个则更难。通常,追踪IE Javascript问题的最佳方法是安装Microsoft Script Debugger,因此至少可以看到导致问题的行。使用Script Debugger,IE将暂停浏览器内的执行并将脚本踢到Script Debugger控制台,该控制台将显示问题行。比常规IE错误消息更多信息。

答案 1 :(得分:1)

请参阅我的answer to this question in another thread。我喜欢这个小技巧,它从来没有让我失望(因为在IE准备好之前原因是DOM操作,我的意思是)。如上所述,它不会影响符合DOM的浏览器。

答案 2 :(得分:0)

这个问题可能是大页面上的问题。除了你已经拥有的文章中的建议之外,我在这里建议的唯一一件事就是在开发环境中删除大量页面,直到问题消失为止。在您知道哪个内容导致问题之前,请继续优化页面上的内容。

我实际上看到两个不相关的页面元素之间的汇合导致了这个问题。我不清楚地记得为什么,但上述方法虽然艰苦,但仍有效。

相关问题