Homepage de.comp.lang.javascript
Homepage
de.comp.lang.javascript

FAQ de.comp.lang.javascript

FAQ
de.comp.lang.javascript

 

 

Bitte verwenden Sie als Einstiegsadresse in diese FAQ die Homepage der Newsgroup de.comp.lang.javascript. Der Aufenthaltsort dieser Seiten hier kann sich ohne Vorwarnung ändern.
 

 

Wie rufe ich eine Funktion auf, die in einem anderen Fenster definiert ist?

1. Funktion in einem benannten Fenster definiert

Die Funktion, die aufgerufen werden soll, befindet sich in einer Datei, die wiederum in einem durch window.open() geöffneten Fenster geladen ist.
Auf diese Funktion kann über den Namen des Fensters zugegriffen werden. Die Vergabe eines Namens ist dabei Voraussetzung.

Beispiel:

Im Ursprungsfenster wird durch einen Klick eine Funktion aufgerufen, die ein neues Fenster mit dem Namen "neues_Fenster" öffnet:

function oeffnen()
{
   neues_Fenster = window.open('refer11.html','','height=200,width=500,resizable=yes');
}
...
<A HREF="Javascript:oeffnen()">Klick</A>

Diese Funktion kann auch aufgerufen werden:

<input type="button" value="von hier aus" onClick="neues_Fenster.Meldung()">

Voraussetzung ist, dass das neue Fenster auch wirklich offen ist, und daß die Funktion dort bereits geladen ist - gegebenenfalls vor Funktionsaufruf abfragen (hier im Beispiel nicht berücksichtigt).

2. Funktion im öffnenden Fenster definiert

Die Funktion befindet sich in dem Fenster, von dem aus ein neues Fenster geöffnet wurde, und wird von dort aus aufgerufen. AB JS1.1 steht dafür die Eigenschaft opener des Window-Objektes zur Verfügung, durch die das öffnende Fenster spezifiziert wird.

Beispiel:

Eine Funktion im Ursprungsfenster (dieses hier):

function Meldung_1()
{
   alert('Das hier kommt von "Meldung_1()" !!!');
}

Diese Funktion kann nicht nur direkt  ,

sondern auch aus einem anderen Fenster aufgerufen werden.

<A HREF="javascript:self.opener.Meldung_1()">
Funktion "Meldung_1()" im Ursprungsfenster aufrufen!</A>

Voraussetzung hier: das öffnende Fenster muß noch offen sein.

top

Diese Seite ist Teil der de.comp.lang.javascript FAQ. Die Einstiegsadresse lautet http://www.dcljs.de/. Der Text der Seite wurde erstellt von Christine Kühnel (©).

 ______ letzte Änderung: 12/2012 ______ 

 
© S. Mintert, Ch. Kühnel