Internet Explorer cannot open the Internet site. Operation aborted
Posted: Wed Oct 10, 2007 11:16 pm
Beim Re-Design der Site eines Kunden stiess ich auf ein abstruses Problem, dass mich mehrere Tage intensiver Suche kostete. 
Folgender Hintergrund:
Flash-Movies werden mit dem bekannten Javascript-Tool SWFObject http://blog.deconcept.com/swfobject eingebunden; zusätzlich gibt es eine sehr gängige Lightbox-Fotoalbum-Funktion, die mit "Slimbox" http://www.digitalia.be realisiert wird.
SWFObject setzt auf der script.acol.us-Bibliothek auf - Slimbox wiederum nutzt mootools.
Ein bisschen Javascript-soup, stimmt ...
Wie auch immer: Firefox, Konquerer, Safari (sprich alle standardkonformen Browser) stellen die Seiten anstandslos dar - Flashs laufen, das Lightbox-Fotoalbum funzt.
Beim Internet-Explorer (Versionen IE6 & IE7) allerdings erhielt ich sporadisch und nicht wirklich reproduzierbar komplette Abschüsse, die mit der ominösen Fehlermeldung
Internet Explorer cannot open the Internet site. Operation aborted.
einhergingen.
Die Seiten wurden halb gerendert, dann ein Beep und das Fehlerfenster schob sich in den Vordergrund.
Beim Klick auf 'Okay' kam eine weite nichtssagende Fehlermeldung.
Beim Reload der Seite wurde merkwürdigerweise die Seite dann korrekt dargestellt -- naja, in 60% der Fälle. Flashs liefen, Lightbox funzte. Oft aber auch nicht.
Also kein erträglicher Zustand.
Ich will euch jetzt die Details ersparen und erklären, warum das so ist. Es hat im Grunde nur mit dem skurrilen DOM-Rendering aus dem Hause Microsoft zu tun. Einer Firma, die viel Schotter im Rücken und Coder am Start hat -- aber seit drei Versionen diesen Bug einfach ignoriert.
Ich will nur schnell eine Lösung vorstellen, falls euch dieser Fehler auch mal über den Weg laufen sollte.
Und euch mühsames Googlen ersparen.
Also, hier der workaround:
1. im Header-Bereich die SWFObject-files vor den Slimbox-/Mootols-Bibliotheken einbinden.
2. die Flash-Filme mit dem "defer"-Attribut einbinden
3. in der Datei 'slimbox.js" folgende Änderung in der letzten Zeile vornehmen
statt:
dieses verwenden:
Fazit: in drei kleinen Schritten glücklich mit den kranken IE's.
Aber eigentlich gehört solch lausige Software verboten.
Wenn ihr mich fragt ...

Folgender Hintergrund:
Flash-Movies werden mit dem bekannten Javascript-Tool SWFObject http://blog.deconcept.com/swfobject eingebunden; zusätzlich gibt es eine sehr gängige Lightbox-Fotoalbum-Funktion, die mit "Slimbox" http://www.digitalia.be realisiert wird.
SWFObject setzt auf der script.acol.us-Bibliothek auf - Slimbox wiederum nutzt mootools.
Ein bisschen Javascript-soup, stimmt ...
Wie auch immer: Firefox, Konquerer, Safari (sprich alle standardkonformen Browser) stellen die Seiten anstandslos dar - Flashs laufen, das Lightbox-Fotoalbum funzt.
Beim Internet-Explorer (Versionen IE6 & IE7) allerdings erhielt ich sporadisch und nicht wirklich reproduzierbar komplette Abschüsse, die mit der ominösen Fehlermeldung
Internet Explorer cannot open the Internet site. Operation aborted.
einhergingen.
Die Seiten wurden halb gerendert, dann ein Beep und das Fehlerfenster schob sich in den Vordergrund.
Beim Klick auf 'Okay' kam eine weite nichtssagende Fehlermeldung.
Beim Reload der Seite wurde merkwürdigerweise die Seite dann korrekt dargestellt -- naja, in 60% der Fälle. Flashs liefen, Lightbox funzte. Oft aber auch nicht.
Also kein erträglicher Zustand.
Ich will euch jetzt die Details ersparen und erklären, warum das so ist. Es hat im Grunde nur mit dem skurrilen DOM-Rendering aus dem Hause Microsoft zu tun. Einer Firma, die viel Schotter im Rücken und Coder am Start hat -- aber seit drei Versionen diesen Bug einfach ignoriert.
Ich will nur schnell eine Lösung vorstellen, falls euch dieser Fehler auch mal über den Weg laufen sollte.
Und euch mühsames Googlen ersparen.
Also, hier der workaround:
1. im Header-Bereich die SWFObject-files vor den Slimbox-/Mootols-Bibliotheken einbinden.
Code: Select all
<__script__ type="text/javascript" src="lib/swfobject.js"></__script>
<__script__ type="text/javascript" src="lib/slimbox/js/mootools.js"></__script>
<__script__ type="text/javascript" src="lib/slimbox/js/slimbox.js"></__script>
Code: Select all
<__script__ defer="defer" type="text/javascript">
var so = new SWFObject("/uploads/Flash/flash.swf", "aktuelles", "240", "62", "7", "#fff");
so.addParam("loop", "true");
so.addParam("play", "true");
so.addParam("quality", "high");
so.addParam("allowScriptAccess", "sameDomain");
so.addParam("wmode", "transparent");
so.write("flash_movie");
</__script>
statt:
Code: Select all
window.addEvent('domready', Lightbox.init.bind(Lightbox));
Code: Select all
window.addEvent('load', Lightbox.init.bind(Lightbox));
Aber eigentlich gehört solch lausige Software verboten.
Wenn ihr mich fragt ...