iframe reload...
GELight
- javascript
0 GELight0 Der Martin
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
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
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
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
Okay... so funktioniert es:
top.frames["EDITOR"].location.reload();
Gruß Mario
Hallo,
während das contentWindows, das deine Lösung verwendet, nur im Firefox bekannt ist.
Mathias