Teufelchen: Variablen auf bereits geöffnetes Fenster übertragen

Beitrag lesen

  1. Wie spreche ich jetzt das Fenster an

Indem du den Rückgabewert von window.open() in einer Variablen speicherst.

Der Aufruf window.open('','query','').self.focus(); ist zum Beispiel gleich in doppelter Hinsicht Unsinn: Erstens möchtest du das Fenster nicht aufmachen, window.open() ist daher falsch am Platz. Zweitens zeigt das Fenster mit self auf sich selbst und ist somit überflüssig, denn du hast ja schon Zugriff auf das Fenster. window.open(…).focus(); funktioniert genauso gut.

um die Variablen zu übergeben ohne die aktuellen Inhalte zu verändern?
2. Wie kann ich ermitteln, ob überhaupt das Fenster noch geöffnet ist?

Alles mit dem Window-Objekt:

Fenster öffnen:                 var fenster = window.open('query.php','query' …);
Fenster nach Vorne holen:       fenster.focus();
Variable x in Fenster setzen:   fenster.x = "bla";
Funktion y in Fenster aufrufen: fenster.y();
Fenster noch da?                if ((fenster) && (fenster.document)) { …

Mit folgendem habe ich gerade rumgespielt:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">  
<html>  
<head>  
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
<title></title>  
  
<style type="text/css">  
</style>  
  
<script type="text/javascript">  
var fenster;  
  
function oeffnen() {  
 fenster = window.open('test.html','test2','status=yes,resizable=yes,width=480,height=300,scrollbars=yes');  
}  
  
function fokus() {  
 fenster.focus();  
}  
  
function hallo() {  
 alert(hallotext);  
}  
  
</script>  
  
</head>  
  
<body>  
<button onClick="oeffnen()">Öffnen</button>  
<button onClick="fokus()">Fokussieren</button>  
<button onClick="fenster.hallotext='Hallo, Welt!'; fenster.hallo();">Hallo!</button>  
<button onClick="if ((fenster) && (fenster.document)) { alert('Offen'); } else { alert('Zu'); }">Noch offen?</button>  
</body>  
  
</html>