Zum Inhalt springen

existiert fenster mit Namen xyz schon?


slomoman

Empfohlene Beiträge

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?

Link zu diesem Kommentar
Auf anderen Seiten teilen


<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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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?
Link zu diesem Kommentar
Auf anderen Seiten teilen

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....

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.
Link zu diesem Kommentar
Auf anderen Seiten teilen

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.
Link zu diesem Kommentar
Auf anderen Seiten teilen

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...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...