Mar 2009

Javascript window: Datentransfer zwischen Fenstern

 
 

Mit Javascript können Daten zwischen Dokumenten in verschiedenen Browserfenstern ausgetauscht werden – z.B. wenn Daten aus einen Formular aus einem anderen Fenster übernommen werden sollen. Dazu bieten sich zwei Methoden an: window.opener und window.name.

Informationen in ein anderes Fenster übertragen

Wenn ein Fenster aus dem aktuellen Fenster geöffnet wurde, können Daten aus dem geöffneten Fenster in das aktuelle Fenster übertragen werden. Im geöffneten Dokument ist window.opener die Referenz auf das Dokument, aus dem das Fenster geöffnet wurde.

Daten aus einem anderen Fenster übernehmen

<form action="index.html" method="post">
   <fieldset>
      <p><input type="button" id="jswinTrans" value="Fenster öffnen" /></p>
      <p><textarea rows="6" cols="40" id="myText"></textarea></p>
   </fieldset>
</form>

Ein Klick auf „Fenster öffnen“ öffnet ein Fenster, in dem ein Text ausgesucht oder eingegeben und an die Textarea in der aktuellen Seite zurückgegeben wird.

Im geöffneten Fenster ist window.opener die Referenz auf das Fenster, von dem aus das zweite Fenster geöffnet wurde.

var theTextarea = window.opener.document.getElementById('myText');

window.opener.document.getElementById('myText') ist die Referenz auf das Element, in das die Daten übertragen werden.

window.name

Der Name, der einem Fenster durch die optionale Angabe des Namens durch window.open() zugewiesen wird, bleibt so lange erhalten, bis ein anderer Name vergeben wird – auch bei einem Refresh der Seite oder wenn ein neues Dokument in das aktuelle Fenster geladen wurde, selbst wenn der Besucher zu einer anderen Domain surft. Der String window.name existiert, solange das Fenster nicht geschlossen wird.

window.name scheint keiner Größenbeschränkung zu unterliegen (?). So können Daten mittels Javascript von einem Dokument in ein anderes Dokument – sogar auf einer anderen Domaine – übertragen werden.

Andere Seite ins Browserfenster laden

Dokument von einer anderen Domaine laden

   


Copyright © 2000 - 2010 Media Engineering Alle Rechte vorbehalten
Design + Programmierung Media EngineeringImpressum und Nutzungsbestimmungen