JS & Frames
Dino Müller
- javascript
0 Thomas Hieck0 Dino Müller0 Andrea0 Antje Hofmann
0 Rico
Hallo,
ich habe ein Problem:
Ich habe 3 Frames (Links, Oben, Main).
Nun rufe ich im Main-Frame mit onLoad eine Funktion im
Links-Frame auf.
Jetzt passiert es manchmal, das die Datei im Links-Frame
noch nicht vollständig geladen ist und dadurch das Script mit
der Funktion nicht geladen ist und nicht ausgeführt werden kann.
Wie kann ich die Funktion im Main-Frame so modifizieren, das
Sie darauf wartet, bis der Links-Frame geladen ist und erst dann
die Funktion ausführt?
MfG, mit freundlichen Grüßen :)
Dino
Nun rufe ich im Main-Frame mit onLoad eine Funktion im
Links-Frame auf.
Jetzt passiert es manchmal, das die Datei im Links-Frame
noch nicht vollständig geladen ist und dadurch das Script mit
der Funktion nicht geladen ist und nicht ausgeführt werden kann.
Ruf die Funktion doch einfach mit onLoad in deinem Linken Frame auf. Ich weiss nicht, warum du diese von deinem Mainframe ausrufen willst.
Viele Gruesse, Thomas Hieck
Ruf die Funktion doch einfach mit onLoad in deinem Linken Frame auf. Ich weiss nicht, warum du diese von deinem Mainframe ausrufen willst.
Geht nicht, weil der Aufruf im Mainframe einen Parameter an den linken Frame
übergibt. Und dieser Parameter ist abhängig von der Seite im Mainframe.
Ich brauche nur eine Möglichkeit, um festzustellen ob die Seite im linken Frame
vollständig geladen ist.
MfG,
Dino
Hi Dino,
Ich brauche nur eine Möglichkeit, um festzustellen ob die Seite im linken Frame
vollständig geladen ist.
Vielleicht klappt das:
Setze eine Variable am Anfang der Seite auf 0 und erst ganz am Ende der Seite auf einen Wert.
Frage diese Variable vor dem Aufruf ab.
Gruss,
Andrea
Geht nicht, weil der Aufruf im Mainframe einen Parameter an den linken Frame
übergibt. Und dieser Parameter ist abhängig von der Seite im Mainframe.Ich brauche nur eine Möglichkeit, um festzustellen ob die Seite im linken Frame
vollständig geladen ist.
Folgender Vorschlag:
Setze im linken Frame eine Variable, die du mit onload auf der Seite links auf wahr setzt. Im Mainframe baust du deine Funktion dann etwa so auf
funcion xyz()
if (..) {..} else setTimeout("xyz()",1000);
Du rufst also die Funktion solange auf, bis die Variable da ist.
Tip: Baue noch eine Abbruchbedingung ein, falls der linke Frame nicht existieren könnte.
Viele Grüße
Antje
Hallo,
ich habe ein Problem:
Ich habe 3 Frames (Links, Oben, Main).Nun rufe ich im Main-Frame mit onLoad eine Funktion im
Links-Frame auf.
Jetzt passiert es manchmal, das die Datei im Links-Frame
noch nicht vollständig geladen ist und dadurch das Script mit
der Funktion nicht geladen ist und nicht ausgeführt werden kann.Wie kann ich die Funktion im Main-Frame so modifizieren, das
Sie darauf wartet, bis der Links-Frame geladen ist und erst dann
die Funktion ausführt?MfG, mit freundlichen Grüßen :)
Dino
Hi Dino,
Machs doch ganz einfach: Setz mit onLoad im linken Frame z.B. ein Hiddenfeld o.ä. auf einen bestimmten Wert. Im Mainframe fragste dann ab, ob das Hiddenfeld überhaupt schon existiert, wenn nicht, rufst Du die Abfrage mit SetTimeout später wieder auf, falls das Hiddenfeld schon da ist, aber der Wert nicht ok, ebenfalls mit Settimeout später nochmal aufrufen. Wenn alles da -> Action.
Es gibt sicher besere Lösungen, diese ist aber eine der simpelsten.
Mfg Rico