Всем привет. Ребят, помогите решить проблемку. Имеется таймер который отправляет ajax запрос на php скрипт и выводит на страницу нужную инфу. Все прекрасно работает пока открыта страница. Но стоит закрыть страницу или перейти на другую, то таймер ничего не делает пока не открою страницу где он запущен. Помогите разобраться почему так происходит.
var newDate2,
intervalId2;
if (localStorage["timer_upd"]) {
newDate2 = new Date(localStorage["timer_upd"]);
timerr();
intervalId2 = setInterval(timerr, 15000);
}
function updFuel(tmr) {
newDate2 = Date.now() + 60 * tmr;
timerr();
if (!intervalId2) intervalId2 = setInterval(timerr, 15000);
localStorage["timer_upd"] = new Date(newDate2).toISOString();
// localStorage["span"] = true;
}
function timerr() {
var now2 = Date.now(),
rest1 = newDate2 >= now2 ? Math.round((newDate2 - now2) / 1000) * 1000 : 0,
s1 = "";
if (!rest1) {
clearInterval(intervalId2);
intervalId2 = null;
localStorage.removeItem("timer_upd");
// localStorage.removeItem("span");
} else {
var rest3 = rest1 % 3600000;
let hh1 = (rest1 - rest3) / 3600000;
rest1 = rest3;
rest3 = rest1 % 60000;
let mm1 = (rest1 - rest3) / 60000;
rest1 = rest3;
rest3 = rest1 % 1000;
let ss1 = (rest1 - rest3) / 1000;
let ms1 = rest3;
}
$('.info').remove();
$.ajax({
type: 'POST',
url: '../fieldfunc',
data: {
tract_pl_udt: localStorage.getItem("selecttract"),
fuel_pl_upd: 1
},
success: function(result) {
result = JSON.parse(result);
$('.updinfo').append('<p class="info" style="margin-bottom: 10px;"> Плуг: ' + localStorage.getItem("selectplow") + '<br>\
Трактор: ' + result[0].title + '<br>\
Топлива в баке: ' + result[0].fuel_now + ' литров</p>');
if (result[0].fuel_now == 0) {
localStorage.removeItem("timer");
localStorage.removeItem("timer_upd");
localStorage.removeItem("span");
localStorage.removeItem("selecttract");
localStorage.removeItem("selectplow");
setTimeout(function() {
window.location.href = "../field";
}, 1000);
}
}
});
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button class="btn plowsbtn" onclick="updFuel(' + 37000 * $fz + ');">Вспахать</button>
Сборка персонального компьютера от Artline: умный выбор для современных пользователей