HTML Fenster & JavaScript

Anders als bei Frames, wo der Zugriff auf ein Frame in einem Frameset mit Hilfe der Window-Eigenschaften top, parent und self geregelt wird, existiert bei PopUps oder genauer gesagt bei durch die Methode open des Windows-Objekts (oder aber über einen Link mit dem Target-Attribut) geöffneten Browserfenstern ein Verweis auf das Window-Objekt, welches das Fenster geöffnet hat. Dieser Verweis, der unter dem Objektnamen opener angesprochen werden kann, bietet Zugriff auf alle Eigenschaften und Methoden des Window-Objekts des aufrufenden Fensters. Wenn das Browserfenster nicht durch einen Aufruf der Methode open bzw. mit einer Target-Angabe geöffnet wurde, dann ist opener null – es existiert kein Verweis auf ein aufrufendes Fenster.

Beachten Sie auch die Beispiele unter PopUp Fenster, wo das automatische Öffnen von HTML-Fenstern anhand von Beispielen demonstriert wird. Hier werden zwei Funktionen definiert, welche zum Öffnen und Schließen von Browserfenstern verwendet werden können. Dabei wird zur Realisierung des automatischen Öffnens auf das onLoad-Event zurückgegriffen.

JavaScript Beispiel: Neues HTML Fenster öffnen

Die im folgenden Beispiel definierten Links zeigen, wie auf das Window-Objekt eines aufrufenden Fensters zugegriffen werden kann. In beiden Fällen wird ein neues Browserfenster geöffnet: Einmal über den Aufruf von open und einmal mit Hilfe des Target-Attributs des A-Tags. Im JavaScript-Code weiter unten wird ein HTML-Dokument angegeben, welches mit opener auf das derzeit dargestellte Fenster zugreift (wenn die HTML-Datei über Anklicken einer der folgenden Links in einem neuen Fenster geöffnet wurde).

Mit window.open() lässt sich ein HTML-Fenster öffnen. Zum Schließen wird wiederum die Methode window.close() genutzt. Beide zuvor erwähnten Methoden sind Teil des vordefinierten Window-Objekts. Auch bei diesem Beispiel wird der JavaScript Void-Operator verwendet, damit der von window.open gelieferte Rückgabewert unterdrückt wird. Ein Weglassen dieses Operators führt dazu, dass der Inhalt des aktuellen Browserfensters durch das gelieferte Window-Objekt – bzw. eine Zeichenkette, die angibt, dass es sich bei dem gelieferten Wert um ein Window-Objekt handelt – überschrieben.

<a href="javascript:void(window.open ('opener-beispiel.html', 'fenster', ''))" title="">Test mit window.open</a><br>
<a href="opener-beispiel.html" target="_blank" title="">Test mit Target-Attribut</a>

Test mit window.open
Test mit Target-Attribut

JavaScript Window opener - Zugriff auf die Eigenschaften des Elternfensters

Wie schon gesagt, ist es mittels opener möglich, auf das Window-Objekt des aufrufenden Fensters zuzugreifen. Im folgenden Script-Abschnitt wird die HTML-Seite opener-beispiel.html gelistet, welche via opener-Objekt auf das aufrufende Fenster zugreift. Die Seite gibt, so sie über ein anderes Browserfenster aufgerufen wurde, mit Hilfe von JavaScript die Dokument-URL des aufrufenden Fensters, sowie die eigene Dokument-URL aus.

Über write() wird die URL der HTML-Seite des Fensters, welches das neue Fenster geöffnet hat, ausgegeben. Die write-Methode ist Bestandteil des JavaScript-Objekts Document. Ausgegeben wird die im JavaScript Location-Objekt – dieses Objekt liegt in der JavaScript Objekthierarchie unter dem Window-Objekt – gespeicherte Eigenschaft href.

<html>
  <head>
    <title>Opener - Zugriff auf das Window-Objekt des aufrufenden Fensters</title>
  </head>
  <body>
    <script language="javascript" type="text/javascript">
      <!-- // hide from older browsers
      // Wurde das Fenster über ein anderes geöffnet, so gibt es
      // auch in opener einen Verweis auf das aufrufende Fenster.
      if (opener)
        // URL des aufrufenden Fensters über dessen Location-Objekt ermitteln und
        // auf der Seite ausgeben.
        document.write ('<b>URL des aufrufenden Fensters ueber opener<\/b>: ' + opener.location.href + '<br\/>');
      else
        // Fenster wurde nicht über ein anderes geöffnet, was in einer
        // entsprechenden Meldung angezeigt wird.
        document.write ('<b>Dieses Fenster wurde nicht ueber window.open oder mit dem Target-Attribut geoeffnet!<\/b><br\/>');
      // Jetzt noch die URL des aktuellen Fensters ausgeben.
      document.write ('<b>URL des  Fensters<\/b>: ' + window.location.href);
      // -->
    </script>
  </body>
</html>
Letzte Posts aus unserem Forum

Probleme mit iphone

Hallo, ich habe ein Problem bei der Darstellung einer Webseite. In allen Browsern hat das bisher bestens funktioniert außer beim iPhone und iPad, wo ... » mehr

von Finlay am Dienstag, 10. Juli 2012 19:45 in JavaScript - noch nicht beantwortet

Stream musik

Hallo, ich bin auf der Suche nach einem Script, mit dem ich einen Leser für Audio-Spuren in eine Html-Webseite einfügen kann. Ich brauche dabei ... » mehr

von Finlay am Sonntag, 22. Januar 2012 22:52 in JavaScript - bisher 2 Antworten
Letzter Beitrag: Dienstag, 8. Mai 2012 16:04 von maharadja

ich habe das mal mit jplayer probiert und bei mir gings ... » mehr

Byte Array PDF im Browser anzeigen

Hallo, ich bekomme von einem Webservice ein PDF als Byte Array. Mit einem JsonP Request habe ich das Byte Array so wie es ist (als Array von Bytes) ... » mehr

von TiloS am Mittwoch, 11. April 2012 17:37 in JavaScript - noch nicht beantwortet

Überbelnd effect in javascript gallerie

ich habe hier einie gallerie die funktioniert problem los aber hat noch kein über belnd effect jedoch würde ich diesen gerne einfügen aber ich habe ... » mehr

von faebe am Freitag, 20. Januar 2012 20:19 in JavaScript - noch nicht beantwortet

XML per JavaScript verarbeiten - IE

Hallo! Vielen Dank für das super kommentierte Script-Beispiel zur Weiterverarbeitung von XML-Dateien per JavaScript: ... » mehr

von gn0me am Freitag, 11. März 2011 19:03 in JavaScript - noch nicht beantwortet


¬ Insolvenzrecht