Сессия не обязательно уничтожается при закрытии окна.Вы могли бы определить некоторые события для onbeforeunload
:
window.onbeforeunload = function(){
// Send a request to the server to notify it of the window being closed/refreshed
}
Или вы можете сделать некоторый опрос, как предложил Flame, но я считаю, что этот подход нечистый, поскольку он создает некоторый сетевой шум, которого хотелось бы избежать.
Вы также можете установить дуплексный канал, например, канал WebSocket , чтобы ваш сервер знал, когда он сломался.