Sven Jacobs
2004-08-11 07:59:03 UTC
Hallo zusammen!
Ich möchte in JavaScript prüfen, ob ein Popup-Fenster bereits geöffnet
wurde. Das Problem ist nun, dass ich die Prüfung von einem Browser-Fenster
aus machen möchte, welches völlig unabhängig von dem Browser-Fenster ist,
welches das Popup geöffnet hat. Das heisst, dass es sich nicht in einem
Frame-Set befindet oder ein Child-Window ist. Ausserdem gehen jegliche
Informationen bezüglich des Popup-Window verloren, wenn das Browser-Fenster
z.B. neu geladen wird.
Mit
self.name = 'popupWindow';
setze ich im Popup-Fenster den Namen. Somit kann ich es schon mal eindeutig
identifizieren. Nun brauche ich eine Referenz auf dieses Fenster. Wenn ich
ein window.open aufrufe, ohne eine URL anzugeben uns als Target den Namen
des Popup-Fenster, bekomme ich eine Referenz zurück und es wird kein neues
Fenster geöffnet ... ABER NUR, wenn das Fenster existiert, also geöffnet
ist!
win = window.open('', 'popupWindow');'
Ist das Fenster nicht geöffnet, so öffnet sich (zumindest im Mozilla) ein
neues leeres Fenster. Der Effekt ist natürlich unerwünscht. Ich könnte zwar
das Fenster sofort wieder schließen, aber das sieht natürlich auch sehr
unschön aus...
Wenn es denn so wie gewünscht klappen würde, sähe der Code etwa so aus:
1 win = window.open('', 'popupWindow');
2
3 if (win)
4 {
5 // Das Fenster ist bereits geöffnet,
6 // muss nicht nochmal geöffnet werden
7 }
8 else
9 {
10 // Das Fenster ist nicht geöffnet, also öffnen
11 window.open('irgendwas.html', 'popupWindow');
12 }
Das Problem liegt jedoch schon in Zeile 1 :(
Wie komme ich also an das Fenster heran?
Vielen Dank!
Ich möchte in JavaScript prüfen, ob ein Popup-Fenster bereits geöffnet
wurde. Das Problem ist nun, dass ich die Prüfung von einem Browser-Fenster
aus machen möchte, welches völlig unabhängig von dem Browser-Fenster ist,
welches das Popup geöffnet hat. Das heisst, dass es sich nicht in einem
Frame-Set befindet oder ein Child-Window ist. Ausserdem gehen jegliche
Informationen bezüglich des Popup-Window verloren, wenn das Browser-Fenster
z.B. neu geladen wird.
Mit
self.name = 'popupWindow';
setze ich im Popup-Fenster den Namen. Somit kann ich es schon mal eindeutig
identifizieren. Nun brauche ich eine Referenz auf dieses Fenster. Wenn ich
ein window.open aufrufe, ohne eine URL anzugeben uns als Target den Namen
des Popup-Fenster, bekomme ich eine Referenz zurück und es wird kein neues
Fenster geöffnet ... ABER NUR, wenn das Fenster existiert, also geöffnet
ist!
win = window.open('', 'popupWindow');'
Ist das Fenster nicht geöffnet, so öffnet sich (zumindest im Mozilla) ein
neues leeres Fenster. Der Effekt ist natürlich unerwünscht. Ich könnte zwar
das Fenster sofort wieder schließen, aber das sieht natürlich auch sehr
unschön aus...
Wenn es denn so wie gewünscht klappen würde, sähe der Code etwa so aus:
1 win = window.open('', 'popupWindow');
2
3 if (win)
4 {
5 // Das Fenster ist bereits geöffnet,
6 // muss nicht nochmal geöffnet werden
7 }
8 else
9 {
10 // Das Fenster ist nicht geöffnet, also öffnen
11 window.open('irgendwas.html', 'popupWindow');
12 }
Das Problem liegt jedoch schon in Zeile 1 :(
Wie komme ich also an das Fenster heran?
Vielen Dank!
--
MfG
Sven Jacobs
MfG
Sven Jacobs