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