"Verzögerung in Internetexplorer"
Jörg Peschke
- programmiertechnik
Hallo zusammen,
Ich habe ein Problem mit einem Javascript, welches mir
mittels document.write eine relativ umfangreiche HTML-Seite (etwa 500 kb) zusammenbauen soll, aber nach kurzer Zeit eine Warnmeldung ("Ein Skript verursacht eine Verzögerung in IE") ausspuckt.
Wenn ich die Meldung sofort wegklicke und ihn weitermachen lasse,
habe ich eine Verarbeitungszeit
von etwa 3 Sekunden, eine Zeit, die für diese spezielle Anwendung durchaus akzeptabel ist.
Meine Frage: Weiss jemand, wann genau diese Warnmeldung ausgelöst wird? Kann es sein, dass ich sie wegkriege, wenn ich einige der Tags, die ich mittels document.write geöffntet habe (in der Seite sind sehr viele verschachtelte <div>s), wieder schliesse, also die Verschachtelungstiefe reduziere? Oder kann ich geschickt das Skript unterbrechen und wieder neu aufsetzen?
Mein Versuch, erst alles in einen String zu schreiben und dann in einem aufwasch (also document.write(output)) rauszufeuern brachte einen ganz massiven Performance-Einbruch, vermutlich wegen dem nicht ganz so optimalen Speichermanagement von JavaScript.
Danke schonmal für Tips und Hinweise,
Jörg
Trolle bitte hier weiterlesen:
1.) Es geht hier nicht um eine normale Web-Seite, die ein Benutzer "mal eben" ansurft und wegklickt, wenn sie nicht nach 1 Sekunde geladen ist. Es ist eine Anwendung, bei der der Benutzer genau weiss, dass eine Menge Daten umgewälzt werden müssen, und er sich auf gewisse Latenzen einstellen muss.
2.) Ja, ich weiss, dass 500 KB HTML und 3 Sekunden Verarbeitungszeit im Web ordentlich viel sind.
3.) Die Seite WIRD de Facto nur von IEs der neuen Generation mit angeschaltetem JavaScript und mindestens ISDN aufgerufen - jegliche Diskussion über "was machst du bei einem Lynx-Benutzer mit 14.4 kb" o.ä. sollte sich damit erübrigen.
... durch Aufspaltung in mehrere
<script>-Blöcke. Trotzdem danke fürs lesen :)