Så vitt jag vet kan du faktiskt inte testa att webbläsaren stängs; du kan bara testa om ett fönster (eller flik) stängs. Det räcker i allmänhet, såvida inte en sida-uppdatering sker, eftersom det räknas som både att stänga och öppna en webbsida i ett fönster eller en flik. Det som behövs är en händelsehanterare för ett klick på webbläsarens sida-uppdateringsknapp, men jag är inte säker på att en sådan existerar. Här är något:
och även
Hantera händelse av webbläsarstängning och siduppdatering
En sak jag har stött på när jag försökte hitta något om en page-refresh-händelsehanterare är idén om att använda "lokal lagring". Du kan, som en del av on-before-unload-hanteraren, lägga ett litet dataobjekt, tidsstämplat, i lokal lagring. Aktivera en slags timer på servern och vänta tills den tiden går ut innan du raderar sessionen. När din sida är laddad, testa lokal lagring för det dataobjektet. Om den finns och tidsstämpeln var väldigt ny, vet du att sidan har uppdaterats och kan göra lämpliga saker baserat på att veta det --som att skicka ett AJAX-meddelande till servern som säger åt den att inte radera sessionen ännu.