Мне нужно определить, когда пользователь неактивен (не нажав или не набрав) на текущей странице более 30 минут.
Я думаю, что лучше всего использовать event blubbling, прикрепленный к тегу body, а затем просто сбрасывать таймер на 30 минут, но я не совсем уверен, как его создать.
У меня есть jQuery, хотя я не уверен, сколько из этого на самом деле будет использовать jQuery.
Изменить: Мне больше нужно знать, активно ли они используют сайт, поэтому нажимают (меняют поля или позицию в поле или выбирают флажки/радиоприемники) или вводят (ввод, textarea и т.д.). Если они находятся на другой вкладке или используют другую программу, то мое предположение заключается в том, что они не используют сайт и поэтому должны быть выведены из системы (по соображениям безопасности).
Изменить # 2:. Итак, все ясно, это совсем не для определения того, зарегистрирован ли пользователь, прошел ли аутентификация или что-то еще. Сейчас сервер будет регистрировать пользователя, если он не сделает запрос страницы в течение 30 минут. Эта функция предотвращает время, когда кто-то тратит > 30 минут на заполнение формы, а затем отправляет форму только для того, чтобы узнать, что они не были выведены из системы. Поэтому это будет использоваться в сочетании с сайтом сервера, чтобы определить, не является ли пользователь неактивным (не нажимайте и не печатайте). По сути, дело в том, что после 25 минут простоя им будет представлено диалоговое окно для ввода пароля. Если они не работают в течение 5 минут, система автоматически регистрирует их, а сеанс сервера выходит из системы (при следующем доступе к странице, как и в большинстве сайтов).
Javascript используется только как предупреждение для пользователя. Если JavaScript отключен, то они не получат предупреждение и (вместе с тем, что большая часть сайта не работает), они будут выведены из системы в следующий раз, когда они запросят новую страницу.