Dino Müller: JS & Frames

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

  1. 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

    1. 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

      1. 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

      2. 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

  2. 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