onunload
hans
- javascript
Hi!
mit folgendem code möchte ich beim verlassen einer seite ein fenster öffnen. klicke ich auf einen link funktioniert das auch. ich verlasse die seite und das fenster poppt auf. nun möchte ich aber, dass das fenster aufgeht, wenn ich direkt den browser schliesse! das tut es nicht, aber warum????
<html>
<header>
<title>session_destroy</title>
<script type="text/javascript">
<!--
function NeuFenster() {
NeuFenster =
window.open("datei.html", "Zweitfenster", "width=200,height=100,scrollbars");
NeuFenster.focus();
}
//-->
</script>
</header>
<body bgcolor="#f4f4f4" onUnload="javascript:NeuFenster();">
</body>
</html>
thx!
Hi!
mit folgendem code möchte ich beim verlassen einer seite ein fenster öffnen. klicke ich auf einen link funktioniert das auch. ich verlasse die seite und das fenster poppt auf. nun möchte ich aber, dass das fenster aufgeht, wenn ich direkt den browser schliesse! das tut es nicht, aber warum????
Weil der onunload Handler unzuverlässig ist. Was ist denn onunload? wenn dein Browserfenster geschlossen wird, wer soll das Skript bearbeiten?
Daneben ist sowas auch nicht besonders höflich, beim verlassen einer Seite den Besucher nochmals mit einem Popup belästigen zu wollen.
Und 'javascript:' gehört nicht in den eventhandler, damit definierst du lediglich ein nutzloses Label.
Struppi.
Weil der onunload Handler unzuverlässig ist. Was ist denn onunload? wenn dein Browserfenster geschlossen wird, wer soll das Skript bearbeiten?
wenn das browserfesnter geschlossen wird, sol eben ein neues aufgehen, was wohl mit diesem eventhandler möglich sein sollte, oder täusche ihc mich da? dass onunload unzuverlässig ist, könnte wohl mein problem sein.
Daneben ist sowas auch nicht besonders höflich, beim verlassen einer Seite den Besucher nochmals mit einem Popup belästigen zu wollen.
gut, ich fange damit den fall ab, dass ein user einen geschützten bereich verlässt ohne sich ausgeloogt zu haben. in dem fentsre soll dann ein button sein, der die session beendet. das ist ok denke ich, wen du eine andere lösung hast, dieses prob(php) abzufangen, her damit.
thx
Weil der onunload Handler unzuverlässig ist. Was ist denn onunload? wenn dein Browserfenster geschlossen wird, wer soll das Skript bearbeiten?
wenn das browserfesnter geschlossen wird, sol eben ein neues aufgehen, was wohl mit diesem eventhandler möglich sein sollte, oder täusche ihc mich da? dass onunload unzuverlässig ist, könnte wohl mein problem sein.
Ja ist es. wie gsagt, wenn das Fenster zu ist, wer sollte den Handler abfangen?
Daneben ist sowas auch nicht besonders höflich, beim verlassen einer Seite den Besucher nochmals mit einem Popup belästigen zu wollen.
gut, ich fange damit den fall ab, dass ein user einen geschützten bereich verlässt ohne sich ausgeloogt zu haben. in dem fentsre soll dann ein button sein, der die session beendet. das ist ok denke ich, wen du eine andere lösung hast, dieses prob(php) abzufangen, her damit.
Nee, ich mach's genauso, allerdings sollte man das Fenster dann nach einem onload wieder schliessen (dann ist ja der logout vollzogen).
Ich hatte es auch mal mit einem Image probiert ging aber nicht, da new Image() offensichtlich zu lange dauerte um dann noch ein Image.src dranzuhängen bevor die neue Seite geladen ist.
Wie gesagt onunload ist sehr mit vorsicht zu verwenden, denn wenn dein Skript weg ist kann es auch nicht ausgeführt werden, es sei denn der Browser hält sich das noch irgendwo vor, aber warum sollte er die Skript von den Seiten vorher nicht verwerfen?
Struppi.
Nee, ich mach's genauso, allerdings sollte man das Fenster dann nach einem onload wieder schliessen (dann ist ja der logout vollzogen).
ja abr erst mal das fenster zu gesicht kriegen :-)
Ich hatte es auch mal mit einem Image probiert ging aber nicht, da new Image() offensichtlich zu lange dauerte um dann noch ein Image.src dranzuhängen bevor die neue Seite geladen ist.
Wie gesagt onunload ist sehr mit vorsicht zu verwenden, denn wenn dein Skript weg ist kann es auch nicht ausgeführt werden, es sei denn der Browser hält sich
hm, also funktioniert das eben doch nicht, wenn du das browserfenster schliesst?
verlassen der seite ja, browser schliessen nein, oder wie? kenne das doch aber, dass wenn man ein fenster schliesst mit solchen popups zugemüllt wird!
hans
Nee, ich mach's genauso, allerdings sollte man das Fenster dann nach einem onload wieder schliessen (dann ist ja der logout vollzogen).
ja abr erst mal das fenster zu gesicht kriegen :-)
Muss man bei dir beim Logout was eingeben?
Wenn nicht kannst du das Fenster mit blur() auch im Hintergrund halten.
hm, also funktioniert das eben doch nicht, wenn du das browserfenster schliesst?
verlassen der seite ja, browser schliessen nein, oder wie? kenne das doch aber, dass wenn man ein fenster schliesst mit solchen popups zugemüllt wird!
Wie gesagt es ist unzuverlässig. Kann sein das es manchmal funktioniert. Ich gehe mal davon aus, dass es einfach davon abhängt inweit der Code ausgeführt werden kann und das hängt dann wohl von der Geschwindigkeit des Rechners ab. Aber das ist pure Spekulation von mir.
Struppi.
Muss man bei dir beim Logout was eingeben?
nein, es geht ein fenster auf, ich übergebe die session und der witz an der geschichte ist, dass die geladene datei einfach ein session_destroy durchführt.
Wenn nicht kannst du das Fenster mit blur() auch im Hintergrund halten.
ne, das brächte ja nichts!
Wie gesagt es ist unzuverlässig. Kann sein das es manchmal funktioniert. Ich gehe mal davon aus, dass es einfach davon abhängt inweit der Code ausgeführt werden kann und das hängt dann wohl von der Geschwindigkeit des Rechners ab. Aber das ist pure Spekulation von mir.
unter windows ie läufts, aber bei mir linux/mozilla eben nicht.
war also ein browserproblem.
trotzdem danke!
hans
Hallo hans,
das ist ok denke ich, wen du eine andere lösung hast, dieses prob(php) abzufangen, her damit.
dazu findest du Lösungen im Archiv z.B. </archiv/2003/1/33557/#m183905>
Grüße aus Nürnberg
Tobias