我的网站遭受了
Operation Aborted error.我觉得奇怪的是,在我的情况下,错误有时只会发生.该网站已经运行了三个月,然后今天它开始发生但不是每次都发生.
发生的页面相当大,有很多第三方控件.我想要的是一个可以确定故障发生位置的工具.似乎我能做的最好就是找到操作中止后发生的第一个javascript错误;但是,这没有多大帮助.这个失败是因为dom的元素不可用,因为IE停止解析HTML,所以我期望这个元素.
任何人都有任何想法或技巧来缩小这个范围?
编辑
我理解解决问题的其他方法;但是,我正在寻找的是一种识别导致问题的脚本的方法.
最终编辑
切换到IE8后,我能够确定原因是AjaxControl Toolkit的模态弹出对话框.没有具体的方法来确定这是令人失望的,但调试器让我看到它失败的地方非常一致.由于控件中没有办法告诉它移动它的初始化,我禁用它,并让脚本在我的文档加载事件处理程序中创建客户端控件.
这个问题不是控件的错,它是因为弹出窗口的内容实际上是第二种形式而发生的.坦率地说,我很惊讶它曾经工作过.
解决方法
你有没有操纵DOM的javascript,如
http://support.microsoft.com/kb/927917#more_information所述?
尝试将所有脚本块移动到页面的最底部,就在< / body>之前tag,并且不要尝试设置body标签本身的innerHTML属性.
如果问题是在完全构建DOM之前执行javascript,请尝试将任何初始化调用移动到仅在页面完全加载后才会运行的函数.所以,而不是像这样的东西:
<div class="myWidgetControl"/> <script type="text/javascript"> initializeWidgets(); </script>
尝试这样的事情:
<div class="myWidgetControl"/> <script type="text/javascript"> $(document).ready( function () { initializeWidgets(); } ); </script>