Я искал и нашел несколько примеров, чтобы установить тайм-аут простоя с помощью jquery.
1 – Тайм-аут ожидания от Eric Hynds DEMO
2 – Простой таймер По paulirish
3 – Событие пожара, когда пользователь находится в режиме ожидания / DEMO ЗДЕСЬ
4 – обнаружение пользователя активным или бездействующим на веб-странице
5 – кометный длинный опрос с PHP и jQuery
6 – определение времени ожидания простоя javascript
… И еще несколько подобных примеров
Между этими примерами номер 1 лучше для меня, потому что мне нужно автоматически выйти из системы с любым подтверждением подтверждения через X минут (logout.php или любой URL-адрес). но этот метод не подходит для сервера. проблема в следующем: этот код jquery отправляет ping на любой url: keepAlive.php в цикле / объединении для запроса OK текста. см. экран firebug:
как это исправить? Таким образом, другие примеры только напечатали Idle / No Idle и не работают с подтверждением оповещений и автоматическим выходом (logout.php или любым URL-адресом) теперь действительно лучший способ выбрать тайм-аут ожидания с использованием jquery / Php?
благодаря
Я использую элемент обновления meta в разделе head, чтобы автоматически перенаправить пользователей на страницу выхода после X секунд. Ниже будет автоматически отправлять пользователя на страницу выхода из системы через 20 минут пребывания на той же странице:
<meta http-equiv="refresh" content = "1200; url=http://www.site.com/user/logout">
Это работает, поддерживается (в основном) кросс-браузер, не полагается на включенность JavaScript и довольно легко реализуется.
Если на вашем сайте есть пользователи, которые остаются на одной странице в течение длительных периодов времени (например, взаимодействие происходит через JS), это решение не будет работать для вас. Он также не позволяет запускать JS-код до перенаправления.
Вот мой подход, который я применил для создания простой функции автоматического выхода из системы с помощью JavaScript и jQuery. Этот скрипт был создан для использования с веб-страницами, которые автоматически переходят на страницу выхода, когда движение мыши не обнаружено в течение 25 минут.
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <script type="text/javascript" language="javascript"> var idleMax = 25; // Logout after 25 minutes of IDLE var idleTime = 0; var idleInterval = setInterval("timerIncrement()", 60000); // 1 minute interval $( "body" ).mousemove(function( event ) { idleTime = 0; // reset to zero }); // count minutes function timerIncrement() { idleTime = idleTime + 1; if (idleTime > idleMax) { window.location="LogOut.php"; } } </script>