Сценарий: на главной странице я установил таймер, который отлично работает при загрузке первой страницы. когда я переключаюсь на другую страницу и таймер исчезает. Используя отладчик, я заметил, что при смене страницы startTimer () не вызывается. Обратите внимание, что весь код находится в методе $ (document) .ready. Код отлично работает на локальном хосте, но только когда приложение развернуто, возникает эта проблема.
function startTimer(duration) {
var timer = duration;
var myInterval = setInterval(
function () {
try {
//Will crash beacause IsDirector does not exist
if (localStorage.getItem("IsDirector") == 1 && TTL == "") {
return;
}
}
catch (e) {
console.log(e);
}
try {
var minutes = parseInt(timer / 60, 10);
var seconds = parseInt(timer % 60, 10);
var display = document.getElementById('LblTimeLeft');
minutes = minutes < 10 ? "0" + minutes : minutes;
seconds = seconds < 10 ? "0" + seconds : seconds;
display.textContent = minutes + ":" + seconds;
document.getElementById("TimeLefthidden").value = timer;
localStorage.setItem("TimeLeft", timer);
}
catch (e) {
console.log(e);
}
if (--timer < 0) {
//logout user if timeleft is zero
//removing all session from client browser
localStorage.clear();
btnlogout_onclick();
myStopFunction();
}
}, 1000);
};
window.onload = function () {
startTimer(TTL);
};
Интересное открытие : когда я обновляю страницу, таймер не отображается (фактическая ошибка), но если я открываю консоль разработчика и устанавливаю некоторые точки останова только для проверки некоторых значений изакройте консоль разработчика, появится таймер !!!