slomoman Geschrieben 10. Mai 2005 Geschrieben 10. Mai 2005 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?
Maulwurf_der_Schlaue Geschrieben 10. Mai 2005 Geschrieben 10. Mai 2005 also ich hab nicht so die ahnung, aber hier steht was zu fenstern, vielleicht findest du da was...
Monty82 Geschrieben 10. Mai 2005 Geschrieben 10. Mai 2005 <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
slomoman Geschrieben 10. Mai 2005 Autor Geschrieben 10. Mai 2005 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?
Monty82 Geschrieben 10. Mai 2005 Geschrieben 10. Mai 2005 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
perdian Geschrieben 10. Mai 2005 Geschrieben 10. Mai 2005 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.
perdian Geschrieben 10. Mai 2005 Geschrieben 10. Mai 2005 Dann fallen mir spontan noch diese alternativen Realisierungsmöglichkeiten ein: - Benutzung von Cookies - Serverseitiges SessionhandlingWie 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?
slomoman Geschrieben 10. Mai 2005 Autor Geschrieben 10. Mai 2005 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....
Monty82 Geschrieben 10. Mai 2005 Geschrieben 10. Mai 2005 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
perdian Geschrieben 10. Mai 2005 Geschrieben 10. Mai 2005 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.
perdian Geschrieben 10. Mai 2005 Geschrieben 10. Mai 2005 Damit lässt sich nicht bestimmen, welches Fenster geöffnet wurdeUnd 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.
Monty82 Geschrieben 10. Mai 2005 Geschrieben 10. Mai 2005 Klassisches SessionTracking halt. Eben. Und eine der wenigen Möglichkeiten, den Wunsch des OP's fensterübergreifend zu realisieren.
perdian Geschrieben 10. Mai 2005 Geschrieben 10. Mai 2005 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...
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden