MSIE: operation aborted

operation abortedOp ÊÊn of andere site, die misschien wel en misschien niet met mijn werkgever te maken heeft, zagen we vreemde dingen in MS Internet Explorer; tijdens het laden van sommige pagina’s kregen we een lelijke “Operation aborted” error te zien.
De oorzaak: terwijl MSIE (via een trage bedrijfsproxy) de DOM van een zwaardere pagina nog aan het inladen was, probeerde een javascriptje (dat de .update functie van Prototype aanroept) al een DIV te updaten. En blijkbaar slaat Internet Explorer (versie 6 en 7) in dat geval een beetje aan het stotteren.
De oplossing: het uitvoeren van de element.update uitstellen tot de DOM geladen is. MSIE (6 en 7) hebben daar blijkbaar geen kant-en-klare functie voor, maar op het internet vind je daar wel oplossingen voor.
Zo, nu dat achter de rug is, ga ik een huis kopen! 🙂

11 thoughts on “MSIE: operation aborted”

  1. Dat is inderdaad een leuke. Meestal is het omdat je een dom element manipuleert vooraleer het volledig is ingelezen (bvb. met swfobject kun je dit al eens voorhebben als je de javascript binnen de flash div zet).
    Soms is het opgelost door je javascript files op het einde (net voor de closing body tag) te plaatsen, maar dan mag je wel geen inline javascript hebben die deze scripts al nodig heeft.

    Reply
  2. Zit nocthans ingebouwd in Prototype:

    // Prototype = 1.6
    Event.observe(document, 'dom:loaded', function() {
    alert("DOM Ready");
    });

    Vrij logisch dat je een fout krijgt (element bestaat nog niet), maar wel ongelooflijk bizar dat dat ding een DNS-error opgooit! Ik zie alvast geen verband …

    Reply
  3. Ach, hier een situatie tegengekomen dat er idd een Operation Aborted op het scherm kwam; waarna er doorverwezen werd naar de res://ieframe.dll/dnserror.htm pagina (“Server not found blablabla”).
    En die Event.Observe; da’s zo’n beetje de core van de meeste libraries (in bvb jQuery is het $(document).ready( function() { ... });) om cross browser event handling (o.a. op click, mouseover, etc.) te hebben 🙂

    Reply
  4. Pingback: futtta's blog
  5. net nog met iemand gemaild die ook ‘operation aborted’ errors kreeg (met de wordpress-flickr-manager plugin, die lightbox gebruikt) en nog een eenvoudige alternatieve oplossing “gevonden”.
    aangezien het probleem zich enkel in MSIE stelt, kun je het MSIE-specifieke (alhoewel het wel in de HTML4-specs staat) defer-attribuut meegeven aan je script-tag:
    <script type="text/javascript" src="..."></script>
    wordt dan gewoon
    <script type="text/javascript" defer="true" src="..."></script>
    hierdoor stelt MSIE de uitvoering van de javascript uit tot wanneer de DOM ingeladen is en dit loste het “operation aborted”-probleem met wordpress-flickr-manager alleszins op.

    Reply

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.