Sven Rautenberg: Ladebalken funktioniert nur mit alert()-Meldung

Beitrag lesen

Moin!

Mir scheint, dass Javascript irgendwie zu schnell arbeitet, jedoch das setzten eines künstlichen Sleeps funktioniert leider auch nicht und führt dazu, dass die Fehlermeldung noch öfter eingeblendet wird

Der Browser aktualisiert das Fenster nur, wenn Javascript nicht mehr ausgeführt wird. Dein "sleep" stoppt bzw. unterbricht aber nicht die Ausführung, sondern dreht unter aktiver Codeausführung nur Däumchen - 100% CPU-Auslastung, aber keinerlei Fensteraktualisierung.

Du mußt die Gesamtaufgabe in Einzelschritte zerlegen, die du jeweils mit setTimeout aufrufst, bzw. indem du den jeweils nächsten Schritt damit aufrufst. Nur damit beendest du Javascript, setzt aber einen Timer, der dann nach kurzer Wartezeit (in der der Browser den Bildschirm aktualisiert) die weitere Ausführung anstößt.

Alternativ ist es eventuell eine bessere Idee, kein XML zu parsen, sondern diese Daten direkt als Javascript-kompatible Datenstruktur verfügbar zu machen. JSON käme da ins Spiel.

- Sven Rautenberg

--
"Love your nation - respect the others."