Я создал простое приложение чата в PHP/Ajax/MySQL.Обнаружение, если пользователь вышел из чата
Я регулярно называя эти двух methods-
setInterval("GetChatParticipants()",5000);
setInterval("GetChatMessages()",1000);
Теперь согласно проекту клиента, нет Выхода или зарегистрироваться кнопкой Out, поэтому я хочу, чтобы определить, когда пользователь закрывает браузер и в то время я должен удалите запись участника из базы данных. Я не хочу использовать onbeforeunload
, так как Chrome отказывается принимать запросы Ajax на событие выгрузки окна.
Так что я думаю об осуществлении в Ajax, повторяя повторные требования. Но вопрос в том, как именно я должен это делать. Должен ли я обновить таблицу Участника last_active_time
, и если разница между текущим временем и тем, что last_active_time
, скажем, более 10 минут, то я должен удалить пользователя? Это практическое решение или может быть лучше?
Кроме того, у меня все равно будет функция выхода/выхода на сервер, которая запускается с помощью javascript при закрытии браузера/текущая страница остается ... Для чего-то есть события. Но если они хотят сделать это, как Stackoverflow, где люди остаются в канале некоторое время после закрытия, так что случайные закрытия браузера не влияют на сеанс чата, лучше не :) – sinni800