проверка статуса пользователя (активный, бездействующий) на веб-странице - PullRequest
5 голосов
/ 12 ноября 2009

Я проверяю статус пользователя - активен он или нет - на веб-странице (во всплывающем окне). если он простаивает более 30 минут, окно автоматически закроется и сбросит некоторые флаги в базе данных.

Я установил куки, содержащие время входа (время, когда он открывает всплывающее окно) и проверял его по текущему времени каждый раз, когда страница обновляется или он переходит на другую страницу (все еще во всплывающем окне). Кроме файлов cookie, я также установил время в базе данных (если всплывающее окно не открыто, задание cron позаботится о сбросе флагов, проверив время в базе данных).

может случиться так, что он что-то печатает в окне, и в течение 30 минут загрузка страницы не происходит, поэтому окно автоматически закроется, и он потеряет свою работу. поэтому я добавил функцию, чтобы при каждом событии onkeydown и onclick значение времени в файле cookie и в базе данных обновлялось.

также, может быть несколько человек, которые используют систему.

будет ли это потреблять слишком много ресурсов? Я не знаком с вещами, связанными с этой проблемой. или есть лучший способ сделать это?

спасибо!

1 Ответ

1 голос
/ 12 ноября 2009

Если вы отправляете когда-либо onkeypress и каждое событие onclick на сервер / базу данных, это проникнет на ваш сервер! Для этих двух вещей я бы добавил еще одну функцию javascript, которая отправляет информацию, если пользователь активен с интервалом, например, 2 или 5 минут. Вы можете сделать это с помощью функций setInterval или setTimeout и отслеживать, был ли пользователь активен в последний период. Если он был, отправьте запрос, если нет, не отправляйте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...