opener
    


WWW.WEB-TOOLBOX.NET

Beispiel   QuellCode ZURÜCK SITEMAP  

  Im öffnenden Fenster anzeigen

Interessant! Genau so, wie man vom Hauptfenster auf ein mit open() erzeugtes Window zugreifen kann, kann man von einem solchen Window auf das Hauptfenster zugreifen (sie finden ein weiteres Beispiel auch in der Rubik 'Windows').

Ein Link (Verweis) in einem geöffneten PopUp-Window soll die angezeigte Datei im aufrufenden Browserfenster auswechseln.


Um das umzusetzen, gibt es das Objekt "opener()". Damit wird die Datei angesprochen, die dass aktuelle Window geöffnet hat. Über das Objekt opener() kann man alle Eigenschaften und Methoden des öffnenden Fensters beeinflussen.

Man bezieht sich dabei aus den PopUp-Window heraus auf den "Opener" , dem Öffner des Windows, auf die Seite also, die das PopUp 'erzeugt' hat. Beispiel-Window öffnen


   Anwendungsbereiche z.B.

1) Sie zeigen eine Sitemap in einem Window.

2) Sie zeigen eine Auswahl von Verweisen als Suchergebnis in einem Window.

Ein angeklickter Verweis soll die Seite dann im Browserfenster (nicht in dem Window) anzeigen. Vorteil: Bis zum Schließen des Windows stehen die Links immer wieder zur Verfügung. Die Suchfunktion hier der Toolbox ist genau so aufgebaut.



   Link im Window

Es wird die Funktion ShowDocument() aufgerufen, die alle Angaben für die Aktion enthält.

<a href="javascript:ShowDocument('dateiname.htm')">Textlink</a>
Ein Klick ruft ein Script mit dem Namen ShowDocument('dateiname') auf. Die Adresse für die HTML-Datei wird an das JavaScript übergeben. Beim Anklicken wird die übergebene Adresse der Variablen (Platzhalter) mit dem Namen 'URL' zugewiesen. Das Script gibt nun die Anweisung an den Browser:

  • im öffnenden Browserfenster (opener)
  • ist die neue Referenz für die nun anzuzeigende Datei
  • das, was mir mit der Variablen URL übergeben wurde

Die Funktion 'ShowDocument' bezieht sich aus dem PopUp-Window heraus auf den "Opener", und führt die Anweisung aus.




   Das Script im Window

(für Anzeige im Browserfenster / Frame)

<script type="text/javascript" language="JavaScript">
<!--
function ShowDocument(URL)
{
opener.location.href=URL;
return;
}
//-->
</script>



   Script für Frames

Das funktioniert nicht nur für den Tausch einer angezeigten Datei in einem einfachen Browserfenster. Auch in einem Frameset kann man mit diesem Verfahren auf einen Frame zugreifen, wenn das PopUp-Window aus einer Datei im Frameset heraus geöffnet wurde.

Wurde das Browserfenster mittels Frameset in mehrere Bereiche geteilt können sie sogar festlegen, in welchem Frame die aufgerufene Datei angezeigt werden soll.

<script type="text/javascript" language="JavaScript">
<!--
function ShowDocument(URL)
{
opener.parent.frames[x].location.href=URL;
return;
}
//-->
</script>
Für 'x' setzen sie die laufende Nummer des Frames ein.

Bitte beachten: Der erste Frame hat die Nummer 0, der zweite hat die Nummer 1, ...

Mouseover zur Demo

erster Frame - Nummer '0'

zweiter Frame - Nummer '1'

dritter Frame - Nummer '2'






   Übersicht des Syntax

Für die unterschiedlichen Anwendungsbereiche können sie also die Anweisung im Window entsprechend formulieren. Beispiele:

aufrufende Seite opener.location.href=url.htm
gesamten Frameset opener.top.location.href=url.htm
Frame mit Framename opener.Framename.location.href=url.htm
Frame mit Framenummer opener.parent.frames[Framenummer].location.href=url.htm;









NACH OBEN