Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Detecting cause of IE's Operation Aborted Issue

My site is suffering from the Operation Aborted error. What I find weird is that in my case the error only sometimes happens. The site has been running fine for three months then today it starts happening but not every time.

The page this is occuring on is rather large with a lot of third party controls. What I'd like is a tool that could pinpoint where the failure is occuring. Seems like the best I can do is find the first javascript error that occurs after the operation aborted; however, this doesn't help much. This failure is because an element of the dom isn't available which I'd expect since IE stopped parsing the HTML.

Any one have any ideas or tricks to narrow this down?

Edit

I appreciate additional ways to resolve the issue; however, what I am looking for is a way to identify which script is causing the issue.

Final Edit

After switching to IE8, I was able to determine the cause was the AjaxControl Toolkit's modal popup dialog. There was no concrete way to determine this which is dissapointing, but the debugger let me see where it was failing which was very consistent. Since there is no way in the control to tell it to move its initialization, I disabled it, and have the script to create the client side control in my document load event handler.

This issue is no fault of the control, it was occuring because the content for the popup is actually in a second form. Frankly I'm surprised it ever worked.

like image 809
JoshBerke Avatar asked Apr 22 '09 20:04

JoshBerke


1 Answers

Do you have any javascript that is manipulating the DOM, as the case is described at http://support.microsoft.com/kb/927917#more_information ?

Try moving all script blocks to the very bottom of the page, just before the </body> tag, and don't try to set the innerHTML property of the body tag itself.

If the problem is with javascript executing before the DOM is fully built, try moving any initialization calls into a function that will run only after the page is fully loaded. So, instead of something like this:

<div class="myWidgetControl"/>
<script type="text/javascript">
  initializeWidgets();
</script>

Try something like this:

<div class="myWidgetControl"/>
<script type="text/javascript">
  $(document).ready(
    function () { initializeWidgets(); }
  );
</script>
like image 114
pkaeding Avatar answered Sep 24 '22 00:09

pkaeding