POPUP Windows

tocotronicx

Grünschnabel
Hallo.
Ich hab mir ne Funktion geschrieben, die per Click ein neues Fenster öffnet.
Nun habe ich bei verschiedenen Links verschiedene Größen der Fenster.
Darum habe ich mehrere Male die gleiche Funktion mit verschiedenen Parametern.
Allerdings soll immer nur ein weiteres Fenster offen sein.
Hab ich so gemacht das alle POPUP Fenster den gleichen Namen haben ==> öffnen im selben Fenster.
Das Problem ist nur, dass es JS reichlich egal ist welche Parameter man bei .open angibt wenn das Fenster schon offen ist.
Soll heissen die Fenstergröße, Resizeable=yes/no, Scrollbar...usw wird nicht auf den neuen Wert umgesetzt.

Hat da wer viell. mein Problem verstanden u kann mir viell. eine Lösung anbieten

Lg Bernhard

Code:
	function Openme(newin) {
	flyout=window.open(newin,"flyout","resizable=no,scrollbars=no,width=510,height=510,top=150,left=150");
	flyout.focus();
	
}
	function Openme2(newin) {
	flyout=window.open(newin,"flyout","resizable=no,scrollbars=no,width=930,height=737,top=150,left=150");
	flyout.focus();
}
	function Openme3(newin) {
	flyout=window.open(newin,"flyout","resizable=yes,scrollbars=yes,width=930,height=737,top=150,left=150");
	flyout.focus();
}
 
Also, wenn ich Dich richtig verstehe, hast Du verschiedene Buttons, die eine neue Site öffnen sollen.

Bedeutet das, wenn Du Button1 geklickt hast, öffnet sich ein neues Fenster. Und Du möchtest nun, daß wenn Du Button2 klickst, daß das erste neue Fenster weiterverwendet wird, aber nochmals angepaßt wird?

Wenn dem so ist, dann geht das soviel ich weiß nicht, denn man kann kein aktives Fenster "nachträglich" verändern!

Was ich Dir empfehle: Mach immer ein neues Fenster auf und gleichzeitig (also in der selben Funktion) alle Fenster, die Du nicht mehr brauchst, wieder zu. So hättest Du immer nur 1 neues Fenster geöffnet, daß Du immer wieder neu gestalten kannst...

Bis dann, Jerinca
 
Hmmm.
Du hast das Problem mal richtig erkannt.

Das mit dem schließen ist so eine Sache.
Könnt ich ja mit .closed abfragen ob das offen ist oder nicht.

Allerdings was passiert wenn das Fenster xy noch nie geöffnet wurde

Ich schätz JS kennt dann xy nicht und meldet Fehler.

Ich hätt das Script so umgebaut:

Code:
function Openme(newin) {
if(xy.closed==FALSE)
{
 xy.close();
}
flyout=window.open(newin,"flyout","resizable=no,scrollbars=no,width=510,height=510,top=150,left=150");
flyout.focus();
	
}
Allerdings tut sich da bei mir dann gar nix mehr wenn noch kein Fenster offen war.
Blöd das das nicht einfacher geht.

Hab nämlich über 8 verschiedene Fenster und da immer schaun was offen ist und was nicht ist mühsam

Danke trotzdem mal.
 
Deklariere ausserhalb der Funktion(en) eine Variable "flyout" mit dem Wert "false".

Um den Fehler, der entsteht, wenn das Popup noch nicht geöffnet wurde, abzufangen, gehe dann so vor:
Code:
if(flyout && !flyout.closed)
{
 flyout.close();
}
wenn ein Popup geöffnet wird, ist "flyout" nicht mehr false... andernfalls wird dieser Abzweig ignoriert.
 
Oho das is ja mal wirklich ne gute Lösung.

So ähnlich hab ich mir das e gedacht mir der Variable, nur war mir nicht bewusst das die Variable auch auf true ist wenn das Fenster aufgeht

Danke
 
Zurück