Вывести сообщение при закрытии вкладки сайта
Подскажите какие события при этом происходят?
Где почитать? Или как лучше отследить пользователя онлайн? (только node.js?) |
onunload
onbeforeunload (Кроме Опры) |
Цитата:
Периодически отправляем запросы через setInterval. Перестали идти запросы - значит пользователь закрыл страницу. |
Цитата:
только нужно чуть точнее знать рамки выхода из онлайн, а если setInterval ставить по времени меньше то и запросов к базе больше, а если и пользователей много то вообще рухнет всё =) Или так и сделать?! на практике с кучей пользователей не проверял, но в теории думаю что этим бд накроется! |
Ужасть.отслеживать как сказал Skipp,
+ создать таблицу с пользователями -лучше редис писать туда время последнего запроса, либо ид сессии если у сессий время жизни жесткое. периодически дёргать её(события вход пользователя, запрос от пользователя, выход пользователя) если тайм аут больше допустимого значит не онлайн либо Дергать папку с сессиями -те что есть значит онлайн |
Это как?
|
Цитата:
|
|
Обращаю внимание, что onunload/onbeforeunload может и не произойти и пользователь так и будет висеть в онлайне, хотя уже давно закрыл страницу.
Если нужен самый быстрый метод и отсутствие ошибок, то нужно скомбинировать оба решения - отлавливать onunload + периодически отсылать сигнал подтверждения что страница пользователя открыта (скажем раз в 5 минут) |
Часовой пояс GMT +3, время: 06:03. |