Определить отсутствие игрока на странице и послать запрос на обновление статуса
Тренируюсь на javascript, создаю онлайн игру. Столкнулся с проблемой: необходимо обновлять статус игрока, когда он отсутствует на странице (не активный игрок).
Пробовал использовать события beforeunload и unload. Поделитесь опытом, возможно есть другой способ отправлять запросы об отсутствии игрока
addEventListener('unload', (event) => {
/**
* Send notify of your absence in room.
*/
$.post("/ajax/player/update", {
userID: window.user.id,
roomID: window.room.id
});
});
Ответы (1 шт):
Предлагаю сделать проще: установить какой-то промежуток времени, после которого игрок считается оффлайн. Например 20 минут бездействия.
При этом установить список действий, при котором обновляется статус на онлайн: написал сообщение в чат, ударил кого-то, вошёл в бой, вошёл в ЛК и т.д. Получается при таком действии идёт запрос на операцию, одновременно обновляет статус на онлайн и одновременно начинается новый отсчёт на то, чтобы юзера считать AFK