futtta's blog

Frank Goossens' Twitterless twaddle

MSIE: operation aborted

with 11 comments

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! :-)

Share this:
  • Digg
  • del.icio.us
  • Facebook
  • Google Reader & Buzz
  • LinkedIn
  • Twitter
  • FriendFeed
  • Posterous
  • StumbleUpon
  • Tumblr
Possibly related twitterless twaddle:

Written by frank

March 14th, 2008 at 11:59 am

11 Responses to “MSIE: operation aborted”

  1. Pieter

    14 Mar 08 at 16:11

    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.

  2. futtta

    14 Mar 08 at 16:17

    ja, bij het zoeken naar ‘operation aborted’ ben ik ook op jouw blog gekomen :)

  3. Bramus!

    14 Mar 08 at 21:04

    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 …

  4. futtta

    14 Mar 08 at 21:55

    dns-errors heb ik nooit gezien, maar misschien hebben we het over andere sites en andere projecten?

    maar dat van die .observe is ‘a nice catch’ wel, thanks! maar moet er dan niet eerder op document-niveau ‘geluisterd’ worden (“document.observe(“dom:loaded”, function()”, cfr. http://www.prototypejs.org/api/document/observe)?

  5. Bramus!

    15 Mar 08 at 13:57

    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 :)

  6. Filip

    16 Mar 08 at 18:26

    Mootools heeft, zoals prototype, ook functionaliteit hiervoor ingebouwd: http://docs.mootools.net/Window/Window-DomReady.js

  7. futtta

    24 Apr 08 at 11:16

    net gelezen op de IE dev-blog; deze bug zal er in IE8 -eindelijk- uit zijn. meer info op http://blogs.msdn.com/ie/archive/2008/04/23/what-happened-to-operation-aborted.aspx

  8. Bramus!

    24 Apr 08 at 12:32

    Heh, ging het ook net posten hier :-)

  9. futtta's blog

    15 May 08 at 15:31

    Are you doing Web2.0 the wrong way?…

    According to Jakob Nielsen, jumping on the web2.0-bandwagon often implies adding unneeded complexity instead of getting the basics right. I tend to agree; in our quest for sexier, more responsive web-sites and -applications, we seem to easily forget bo…

  10. frank

    27 May 08 at 16:42

    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.

  11. [...] futtta heeft het opgelost (denk ik), waarvoor dank. Toen ik hierboven zei dat ik de laatste tijd geen [...]

Leave a Reply