У меня есть функция setTimeout, которая начинается 25 минут и сбрасывает/перезапускает следующие 25 минут. Мой тестовый сценарий явно работает, когда я меняю его с 1500000ms на нечто более короткое, как 1000ms; однако это не происходит, когда я (утомительно) тестирую его каждые 25 минут (1500000 мс). Какие-либо предложения?setTimeout reset для длительных длительностей
// 1000ms = 1s
// 60000ms = 60s // 1 min
// 1500000 = 1500s // 25 mins
var timer = null;
timer = setTimeout(sessionFunction, 1500000);
function sessionFunction() {
alert('test');
clearTimeout(timer);
timer = setTimeout(sessionFunction, 1500000);
}
// 1000ms = 1s
// 60000ms = 60s // 1 min
// 1500000 = 1500s // 25 mins
var timer = null;
timer = setTimeout(sessionFunction, 1500000);
function sessionFunction() {
alert('test');
clearTimeout(timer);
timer = setTimeout(sessionFunction, 1500000);
}
В качестве побочного примечания вы можете использовать 'setInterval' вместо ручной очистки и перезапуска таймера. –
Скрываете ли вкладку браузера при ее запуске? – epascarello
Да, в некоторых случаях. Это будет использоваться в качестве диалогового окна предупреждения о тайм-ауте сеанса, чтобы пользователь мог использовать свою вкладку/окно в фоновом режиме. – theflarenet