Det enda sättet du kan göra något när sidan är stängd eller navigerad bort från är att koppla en händelsehanterare till unload-händelsen, som Rocket föreslår. Du bör dock inte lita på att denna händelse utlöses, eftersom många saker kan förhindra den. Webbläsaren kan stoppa den för att fokusera sina resurser på andra uppgifter, användaren kan förlora sin anslutning, webbläsaren kan avslutas, etc.
Det mest pålitliga sättet att hålla reda på användare och session är att låta dem skicka keepAlive-meddelanden till servern med ett givet intervall. Då vet du att användaren lämnade någon gång mellan en given tidsstämpel och intervallet för keepAlive-meddelandet.
På servern kan du sedan gå igenom de sessioner som inte har hållits vid liv på ett tag och utföra alla åtgärder du behöver.
Detta tillvägagångssätt kommer dock inte att vara nödvändigt om du bara behöver skapa en cool "logga ut"-effekt.