Het gaat om een pop-up, zodra die gesloten wordt (gewoon met t kruisje) dan moet er dus onmiddelijk een aktie getriggerd worden.. hoe doe ik dit?
Javascript, iets met onClose of onWindowClose of zoiets. Even googlen.
op leejoo staat het ongetwijfeld
daar wordt het zelf ook gebruikt
onclose inderdaad. Kan als javascript (<script>window.onclose=function(){die iets}</script)
(mening weggelaten)
Het is niet voor irritante alerts ofzo ;)
Het gaat om een chatbox die ik zelf aan t bouwen ben. Als een gebruker de chatbox sluit moet hij uit de gebruikers_tabel van mn mysql-database gehaald worden.

<script>
window.onclose = <hoe roep ik hier een php scriptje op dan?>
</script>
Google eens. Je staat verstelt.
Ben al stukje verder. Heb nu een Javascript die een .php-bestand aanroept die op zijn beurt de chat-sessie goed afsluit.

Alleen wordt dat script aangeroepen door:
<BODY onUnload="functie()">

Het script start niet alleen als het scherm gesloten wordt (wat ik wil) maar ook als de pagina ververst wordt, en dat moet dus niet gebeuren. Weet iemand hoe ik dit kan oplossen? Het javascript moet dus alleen gestart worden als het scherm gesloten wordt, niet bij een refresh.
Hoi Dennis,

leuk probleem wat je daar aansnijdt. Ik moest er echt even op studeren. Volgens mij komt deze pagina aardig in de buurt van wat je bedoelt.

edit: getest in FireFox
Mmm, in Safari krijg ik altijd het bericht dat het venster nog open is waneer ik het met close of kruisje sluit. :-/
Met alle respect maar hier is HTTP niet voor bedoeld, HTTP is stateless, er is geen continue verbinding tussen client en server, de server kan niet weten wanneer de client de pagina sluit, de URL verlaat, zijn PC afzet of misschien wel ontploft :)

onunload is geinig, maar gaat inderdaad ook af met een refresh of wijzigen van de URL.

Je lost dit alleen netjes op met een client-server-tool welke gewoon een continue verbinding heeft, dat kan een losse executable zijn of bijvoorbeeld een servlet.
@ Jelmer: ik moet het nog in andere browsers testen, maar safari werkt dus alvast NIET :(

@ Remco: klopt, dat kan de server niet weten. Dit is dus zeker geen sluitend script.

Toch vind ik het geen gek idee. Bij een unload event stuur ik een waarde naar het opener-venster en in dat venster check ik of het popup venster nog open is.

Veel meer kun je volgens mij met JavaScript niet doen, Dennis!

Reageren