views:

361

answers:

3

I am running an instance of Joomla on my server. When I load the site in any other browser the page loads fine, however, when I load the page with IE6 i get the following error.

"internet Explorer cannot open the Internet site http://example.com", Operation Aborted."

Popup: "Continue loading This Page?" I press OK. Sometimes it takes me to the site, sometimes it takes me to a 404 error.

I don't seem to have the same error on other pages besides the home page.

Is there some way I can figure out what the problem is? I'm pretty sure it has to do with the javascript loaded on the front page but there's so many modules on there I'm not sure where to start.

There does not seem to be a Javascript error in a later version of IE 7/8, no javascript errors in Firefox. In IE6 though I cannot have this error. I'm using a Yootheme template but the same Theme seems to work in IE 6 without the error when I view it on their site so this leads me to believe its a module loaded on the first page.

Is there a way for me to tell which module is not compatible with IE6? I use Firebug but I cannot find any errors using it. However, I still have a arather large problem that the site will not display in IE6 and 20% of IE users are still holding on to the 2001 browser.

+2  A: 

Operation Aborted occurs when you use DOM methods to insert content into an element that hasn't been completely parsed yet. It understandably confuses the parser when there's still new content to come in the element... where should it go, in relation to the added-by-DOM content? How does it interact with innerHTML? There's no consistent answer.

<div id="x">
    ...
    <script type="text/javascript">
        document.getElementById('x').appendChild(document.createElement('p')); // fail
    </script>
    ...
</div>

Quite often the element in question is <body>. Don't attempt to append things to the body in code that runs during the parsing of the body.

IE7 and 8 behave slightly differently in the face of this error, but are still affected.

Microsoft's explanation.

bobince
+1  A: 

In my experience, it is quite common for these errors to occur when you build a Joomla website using extensions that use the JQuery JavaScript library. Many extension developers forget to avoid that JQuery will use the same initial variable as MooTools, and this will cause IE to throw the operation aborted error message. The solution is to Google for the JQuery noconflict setting and insert that into the code of any extensions using JQuery. It sounds complex, but although I can't remember the fine details now, afterwards you'll find it easy enough with hindsight.

E Wierda
A: 

You can get this when an extenson injects JavScript into the body. In my expereince it's usually an extension related problem.

Check the template first by adding &tmpl=component to a page showing the error. This should display the content with out the template; if the error still appears it's a template problem. If it still appears then it's an extension and you need to find out which one.

First, try a scan of the page source for 'domready' - this is a MooTools event that is known to cause this problem. You can usually replace the event with ;load' to fix it.

Disable all content modules and then re-enable them one by one until the error re-appears.

Good luck, Bob

GreyHead