Per JavaScript prüfen, ob Seite in Popup oder "normalem" Browserfenster geladen wurde

tschroeder

Mitglied
Hallo,

wie kann ich innerhalb einer ASP/HTML-Datei - ich nenne sie mal x - mit JavaScript prüfen, ob sich die Seite in einem Popup befindet?
"Popup" soll heißen: Fenster wurde mit Standard-JavaScript "window.open(...)" geöffnet.

Hintergrund: Ich möchte in der Datei an einer bestimmten Stelle den JavaScript-Befehl "window.close()" ausführen, aber nur, wenn sich die Seite in einem Popup befindet.

Ich habe schon überlegt: ein Popup hat immer einen "Opener" (das Ursprungsfenster), den ich mit "window.opener" ansteuern kann.
Könnte allerdings sein, dass es den "Opener" gar nicht mehr gibt, weil er bereits vom Anwender geschlossen wurde.
Die Prüfung "if(window.opener)" bringt mich also nicht wirklich weiter.

Hat jemand einen Tipp?

Tricksen kann man warscheinlich viel.
Beispiel: Beim Öffnen des Fensters eine "Marke" setzen und dann innerhalb des Fensters einfach weitergeben (zum Beispiel an die Datei x).

Mich würde aber interessieren, ob JavaScript eine Standardfunktion oder -eigenschaft bietet, auf die man zugreifen kann.

Hinweis: Falls jetzt wieder irgendwelche ... Kommentare kommen, in der Art: "Mach' doch keine Popups, die nerven nur den Anwender, blabla etc. etc."
>> Es handelt sich um eine ziemlich komplexe Intranet-Anwendung (Business-Software), ohne die Popups geht es leider nicht und nerven tun sie auch keinen.

Freue mich über jede Idee.

Gruß aus dem verregneten Ditzingen

Tommy
 
Moin Tommy,

ein Fenster hat eine eindeutige Sache, an der man erkennt, ob es per open() geöffnet wurde...seinen Namen :)

Du musst nur prüfen, ob "self.name" leer ist, wenn ja, ist es kein Popup, wenn nein, ist der Name identisch mit dem 2. Parameter bei open().
Vorraussetzung ist natürlich, dass du den 2.Parameter vewendest, aber davon gehe ich mal aus, denn sonst würde ja ein normaler Link reichen :-)

Und das bleibt auch so, selbst wenn der opener geschlossen wird oder eine neue Seite in das Popup geladen wird
 

Neue Beiträge

Zurück