Gina R.: window.setTimeout() in Verbindung mit window.open()

Beitrag lesen

Hallo zusammen,

ich bin gerade ein bisschen am Verzweifeln! Ich habe vor, aus einer Folge von HTML Pages (picture_000.html, picture_001.html, picture_002.html ...) eine Diashow aufzubauen. Nach dem Durchackern der SELFHTML Dok habe ich gefunden, dass window.setTimeout("Script",Timeout) wohl das Richtige. Ich habe also versucht, den Wechsel der einzelnen Fotoseiten mit dem Aufruf

window.setTimeout("window.open(Newpage,3000)) im body(onload=...)nach also jeweils 3 Sekunden automatisch erfolgen zu lassen. Die ganzen Iterationen drumherum und die Abruchbedingungen kann ich hier weglassen. Das Ergebnis des obigen Funktionsaufrufes war jedenfalls, dass es nicht funktioniert hat.

Also habe ich zu Testzwecken als Argument für den setTimeout() die Funktion alert() hergenommen, so wie es in der Javascript Dok von SELFHTML verwendet wird. Das hat prächtig funktioniert; jedesmal wurde drei Sekunden nach dem Laden die alert Meldung ausgegeben, auch mit den richtigen Dokumentnamen.

Ersetze ich den alert-Aufruf nun wieder mit dem windows.open(), wird kein Timeout abgewartet, sondern das Ganze rast nur so durch mit allen Bildseiten.

Ist das ein normales Verhalten des setTimeout(), weil durch das Laden des neuen Dokuments irgend eine Eigenschaft im window-Objekt verlorengeht? Und wenn ja, warum passiert das nicht erst NACH dem Timeout?

Ich muss zugeben, dass ich das Verhalten nicht verstehe!

Ich arbeite hier übrigens auf einem Mac mit OSX 10.4 und Safari 4.0.3, eine Version, der ich seit einiger Zeit sowieso nicht mehr ganz vertraue. Mit dem Firefox bin ich ebenfalls nicht weitergekommen, der hat sofort wegen der PopUp-Windows gemeckert.

Hoffe, ich habe das Problem einigermassen verständlich geschildert und irgendjemand hier im Forum kann mir helfen.

Danke und Gruss
Gina