Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

existiert fenster mit Namen xyz schon?

Empfohlene Antworten

Veröffentlicht

Wenn man per JS ein Fenster über einen Link öffnet

(window.open("datei.htm", "Fenster1", "width=310,height=400,left=0,top=0")

[/code]

kann man dann herausfinden, ob monentan schon ein Fenster mit dem Namen "Fenster1" exisitert? Wenn man mehrmals auf einen link clickt, der so ein Fenster erzeugt, möchte ich einen Parameter an die URL hängen, falls das Fenster schon existiert. Ist das möglich?


<html>	

	<script language="Javascript">

		var WHwnd = nil;			

		function openWindow() {		

			if (WHwnd && !WHwnd.closed) {

				//Fenster bereits geöffnet

				window.open("test2.html", "Fenster2", "width=310,height=400,left=0,top=0");		

			}

			else {

				WHwnd = window.open("test1.html", "Fenster1", "width=310,height=400,left=0,top=0");		

			}						

		}		

	</script>

<body>

<a href="#" onClick="openWindow();">Blub</a>	

</body>	

</html>

Ist es das, was Du suchst?

Alternativ kannst Du auch statt dem Öffnen des zweiten Fensters die URL so ändern: WHwnd.document.location.href = "test2.html";

- Monty

Hmm ,man speichert eine Referenz auf das neue FEnster in einer globalen JS-Variable, die man bei nächsten Zugriff auf das Fenster wieder abfragen kann. Nicht schlecht. Aber was ist, wenn die Seite, die diese JS-Variable enthält, zwischen dem ersten und zweiten Öffnen des Fensters verlassen und wieder neu aufgerufen wurde?

Dann fallen mir spontan noch diese alternativen Realisierungsmöglichkeiten ein:

- Benutzung von Cookies

- Serverseitiges Sessionhandling

In welchem Zusammenhang benutzt Du das Öffnen des Fensters denn?

- Monty

Aber was ist, wenn die Seite, die diese JS-Variable enthält, zwischen dem ersten und zweiten Öffnen des Fensters verlassen und wieder neu aufgerufen wurde?
Dann ist die Information futsch.

Und das ist auch gut so. Ich würde es nicht direkt als Sicherheitslücke betrachten, aber wenn jetzt jede Webseite anfangen würde meinen Browser zu kontrollieren, vielleicht mir noch irgendwelche Fenster zu schließen nur um die eigenen noch "prominenter" zu platzieren - das muss nicht auch noch sein.

Kurz und gut: Ich denke du wirst auf allgemeinem Wege nicht an die Info herankommen.

Dann fallen mir spontan noch diese alternativen Realisierungsmöglichkeiten ein:

- Benutzung von Cookies

- Serverseitiges Sessionhandling

Wie soll das denn funktionieren? Beides sind Methoden zum serverseitigen auswerten von Informationen. Informationen darüber, wo bei mir welches Fenster offen ist sind clientseitige Informationen. Wie will ich denn in einem serverseitigem Cookie speichern, welches Fenster bei mir geöffnet ist, und vor allem wie komme ich an die Information ran, dass - und wann - dieses Fenster wieder geschlossen wurde?

Ok, die methode mit der referenz-variable geht also nur, wenn man die seite zwischenzeitlich nicht verlässt. Logisch.

Für meine Zwecke werde ich wohl darauf verzichten müssen, per JS herauszufinden, ob ein Fenster mit den Namen bereits geöffnet wurde.....

Es gibt sicherlich auch noch einen serverseitigen Weg....

Wie soll das denn funktionieren? Beides sind Methoden zum serverseitigen auswerten von Informationen. Informationen darüber, wo bei mir welches Fenster offen ist sind clientseitige Informationen. Wie will ich denn in einem serverseitigem Cookie speichern, welches Fenster bei mir geöffnet ist, und vor allem wie komme ich an die Information ran, dass - und wann - dieses Fenster wieder geschlossen wurde?

Damit lässt sich nicht bestimmen, welches Fenster geöffnet wurde, aber wohl, welche Seite aufgerufen wurde, wenn ich mir diese Information beim ersten Aufruf selbiger serverseitig gespeichert habe.

So habe ich die Möglichkeit, die Seite in Abhängigkeit einer ggf. vorher betrachteten Seite zu generieren, und ggf. auch einen Header-Redirect zurückzusenden.

Bsp:

Client Ruft Seite A auf, Server speichert, dass A aufgerufen wurde.

Client Ruft erneut Seite A auf, Server merkt, dass sie schon einmal aufgerufen wurde, und sendet anderen Content an Client zurück, oder leitet auf eine andere Seite um.

- Monty

Für meine Zwecke werde ich wohl darauf verzichten müssen, per JS herauszufinden, ob ein Fenster mit den Namen bereits geöffnet wurde.....

Es gibt sicherlich auch noch einen serverseitigen Weg....

Vielleicht sagst du uns ja auch einfach mal, was eigentlich dein Ziel ist - dann kann dir vielleicht auch jemand einen Weg aufzeigen.
Damit lässt sich nicht bestimmen, welches Fenster geöffnet wurde
Und ich denke genau darum ging es dem OP.

wenn ich mir diese Information beim ersten Aufruf selbiger serverseitig gespeichert habe. So habe ich die Möglichkeit, die Seite in Abhängigkeit einer ggf. vorher betrachteten Seite zu generieren, und ggf. auch einen Header-Redirect zurückzusenden.
Klassisches SessionTracking halt.
Und eine der wenigen Möglichkeiten, den Wunsch des OP's fensterübergreifend zu realisieren. :)
Na wir wissen ja (noch?) gar nicht, was er denn eigentlich erreichen wollte. :)

Vielleicht war ja tatsächlich sein Ziel alle anderen Browser-Fenster ausser seinem eigenen zu schließen - ich wundere mich bei manch einem "Web-Designer" über nix mehr...

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.