Sven Rautenberg: geöffnetes Browserfenster reloaden

Beitrag lesen

Aloha!

Hast du auch den richtigen Fensternamen verwendet?

Der HTML-Fenstername (der Name, der für target-Angaben herangezogen wird) kann für den Javascript-Zugriff nicht verwendet werden.

bei dem folgenden Beispiel wäre der Fenstername den du ansprechen willst "anzeigeFenster":

FALSCH!

neuesFenster = open("http://www.test.de/",
  "anzeigeFenster",
  "toolbar=yes,statusbar=yes,height=400,width=700");

Der Zugriff geht über die Fenstervariable:
neuesFenster.location.reload();

Wenn du das Fenster mit "neuesFenster" ansprichst, geht das nur innerhalb des Scripts...

Nein, das geht in allen Fenstern, vorausgesetzt, man wandert mit parent, top oder opener in dieses Fenster, welches das neue Fenster geöffnet hat.

Siehe auch http://aktuell.de.selfhtml.org/tippstricks/javascript/fensterzugriff/

Gern gemachter Fehler: Wenn das neue Fenster einfach nur mit window.open() geöffnet wird, wird für Javascript keine Referenz auf dieses Fenster gespeichert, und man kann es hinterher nicht mehr ansprechen.

Kleiner Kniff mit großer Wirkung: Um ein Fenster, dessen HTML-Name bekannt ist, in Javascript verfügbar zu machen, egal, wo man sich gerade befindet, öffnet man es einfach noch einmal ohne Daten:

ersatzvariable = window.open('','anzeigeFenster');

Damit stellt man die Javascript-Beziehung zum Fenster wieder her und kann das Fenster bearbeiten.

- Sven Rautenberg