У меня есть веб-приложение, сделанное в воспламенителе кода. Что это в основном делает –
Мой вопрос. Пока работает JavaScript-таймер, можем ли мы предотвратить тайм-аут сеанса, чтобы пользователи не выходили из системы и их прогресс не терялся? Моя первоначальная мысль заключается в том, что этого не может быть, по крайней мере, нет простого способа, поскольку мы имеем дело с Javascript-таймером (Client) и таймаутами сеанса (сервера).
заранее спасибо
На протяжении сеанса таймера продолжайте отправлять запрос keepalive каждые несколько минут (предпочтительно от 2 до 5 минут)
Этот запрос keepalive будет как можно более легким, и он будет только получать сеанс на сервере и будет поддерживать его
Ответ будет также прост, как что-то вроде сеанса по-прежнему активно.
С другой стороны, вы также можете поддерживать переменную на стороне javascript-пользователейLastActivity, которая обновляется по каждому документу mousemove или keydown для документов и нескольким событиям. Если с момента последнего запроса была какая-либо активность, отправьте запрос keepalive …
Чтобы получить больше информации о вас, вы можете взглянуть на другой такой же вопрос, размещенный здесь .
Основной пример:
setInterval(function(){ $.get('/ImStillAlive.action'); }, 300000); // 5 mins * 60 * 1000
С базовой проверкой на ввод информации:
$(function(){ var lastUpdate = 0; var checkInterval = setInterval(function(){ if(new Date().getTime() - lastUpdate > 300000){ clearInterval(checkInterval); }else{ $.get('/ImStillAlive.action'); } }, 300000); // 5 mins * 60 * 1000 $(document).keydown(function(){ lastUpdate = new Date().getTime(); }); });