Laufzeit eines Scripts
martin
- javascript
Hallo,
ich habe eine Seite in der ein Iframe ist. In diesem Iframe ist wiederum eine Seite, die durch einen Link ein Script aufruft.
Dieser Script hat zwei Aufgaben:
1. Die Seite im Iframe auszutauschen
2. Eine weiter Anweisung auszuführen
Das Problem:
Wenn die Seite ausgetauscht ist, bricht das Script ab. (Wenn ich das Script von der "Hauptseite" aufrufe, funktioniert es wunderbar).
Wie kann ich JavaScript dazu bewegen fortzufahren, wenn die aufrufende Seite nicht mehr aktiv ist?
Hi
ich habe eine Seite in der ein Iframe ist. In diesem Iframe ist wiederum eine Seite, die durch einen Link ein Script aufruft.
Dieser Script hat zwei Aufgaben:
- Die Seite im Iframe auszutauschen
- Eine weiter Anweisung auszuführen
Das Problem:
Wenn die Seite ausgetauscht ist, bricht das Script ab. (Wenn ich das Script von der "Hauptseite" aufrufe, funktioniert es wunderbar).
Wie kann ich JavaScript dazu bewegen fortzufahren, wenn die aufrufende Seite nicht mehr aktiv ist?
gar nicht. Du kannst
a) in der neuen Seite ein anderes das alte "fortführen" lassen (indem es das tut, was das andere tun sollte)
b) die anweisungen alle _vor_ dem location.href-Change durchführen.
Fabian
a) in der neuen Seite ein anderes das alte "fortführen" lassen (indem es das tut, was das andere tun sollte)
b) die anweisungen alle _vor_ dem location.href-Change durchführen.Fabian
Vielen Dank Fabian, hilft mir aber nicht weiter
zu Vorschlag a): ich müsste einen Parameter in die neue Seite übegeben können, habe aber keine Ahnung wie
zu Vorschlag b): geht nicht, weil die weiteren Anweisungen sich auf das neue Dokument beziehen
Zur Erläuterung mein konkretes Problem:
Hauptdokument hat ein Iframe (name = "Ebene1")
Das Dokument in diesem Iframe hat wiederum ein Iframe (name = "Ebene2")
Durch einen Link im Iframe (Ebene1) soll das Dokument im Iframe (Ebene1) ausgetauscht und anschließend das Dokument im Iframe (Ebene) auch ausgetauscht werden.
Mit folgender Funktion habe ich es gelöst:
a = top.Ebene1;
a.location = 'Home2.html'
setTimeout("a.Ebene2.location.replace('Seite3.html')",100)
(Das Timeout habe ich, damit die Seite "Home2" erst fertig geladen ist, bevor ich darauf zugreife)
Diese Funktion funktioniert, wenn ich sie vom "Hauptfenster" aufrufe, aber nicht aus der Ebene1 (erste Anweisung wird ausgefürt, das wars).
Hat jemand eine andere Idee für mein Problem
Gruß Martin
Morgähn *g*
a) in der neuen Seite ein anderes das alte "fortführen" lassen (indem es das tut, was das andere tun sollte)
b) die anweisungen alle _vor_ dem location.href-Change durchführen.Fabian
Vielen Dank Fabian, hilft mir aber nicht weiter
zu Vorschlag a): ich müsste einen Parameter in die neue Seite übegeben können, habe aber keine Ahnung wie
Hast du eine Serverseitige Technik zur Verfügung?
Wenn nicht, dann lies doch bitte mal http://aktuell.de.selfhtml.org/artikel/javascript/wertuebergabe/index.htm
zu Vorschlag b): geht nicht, weil die weiteren Anweisungen sich auf das neue Dokument beziehen
Wie gesagt, dann auch dort das Script ausführen. Du schaust halt, ob die Seite, wo der Aufruf herkam, z.B. über einen Get-Parameter die Ausführung des "Folge-Scriptes" angefordert hat.
Allerdings verstehe ich noch immer nicht, warum du den Aufruf nicht vom Hauptframe aus machst, das müste mit parent.framename.funktionsaufruf(); doch gehen.
Fabian