GELight: iframe reload...

Guten Morgen...

Kurz und knapp: Ich möchte aus einem IFRAME heraus ein 2tes IFRAME, welches ebenso im Hauptfenster liegt, refreshen lassen.

Mein Code:
top.document.getElementById( "EDITOR" ).location.reload();

... Was ist hier falsch?
Hab das halbe Forum durchforstet und überall wird über location.reload(); der refresh gemacht. Bin gespannt, was bei mir wieder falsch ist hehe...

Gruß Mario

  1. Ich habs nun endlich selbst rausgefunden... uff...

    top.document.getElementById( "EDITOR" ).contentWindow.location.reload();

    Hab durch ZUFALL dieses contentWindow gefunden. Ist natürlich nirgends wirklich beschrieben... egal, nach was ich gesucht habe. Naja egal... hauptsache es funktioniert.

    Wollt nicht stören... :)
    Gruß Mario

  2. Hallo,

    Kurz und knapp: Ich möchte aus einem IFRAME heraus ein 2tes IFRAME, welches ebenso im Hauptfenster liegt, refreshen lassen.

    top.document.getElementById( "EDITOR" ).location.reload();

    warum gehst du hier den umständlichen Weg über getElementById()? Einfacher wäre es mit

    top.document.frames['framename'].location.reload();

    Das hätte auch den angenehmen Nebeneffekt, dass es auch im IE funktioniert, während das contentWindows, das deine Lösung verwendet, nur im Firefox bekannt ist.

    Achte auch darauf, dass du in Zukunft nicht noch an der Same Origin Policy scheiterst: Enthält eines der beteiligten Fenster (Frames) Inhalte, die von einer anderen Domain stammen, wird der Zugriff mit Javascript verhindert.

    So long,
     Martin

    --
    F: Was ist schneller: Das Licht oder der Schall?
    A: Offensichtlich der Schall. Wenn man den Fernseher einschaltet, kommt immer erst der Ton, und dann erst das Bild.
    1. Vielen Dank für die Hinweise.

      Allerdings funktioniert deine Variante für den Reload auch nicht.
      Zumindest passiert nichts im FF...

      Meine Codeschnipsel:

      /* VORHER ( lief im FF )
      top.document.getElementById( "EDITOR" ).contentWindow.location.reload();*/

      /* JETZT ( keine Reaktion ) */
      top.document.frames["EDITOR"].location.reload();

      Mario

      1. Okay... so funktioniert es:

        top.frames["EDITOR"].location.reload();

        Gruß Mario

    2. Hallo,

      während das contentWindows, das deine Lösung verwendet, nur im Firefox bekannt ist.

      ???

      Mathias