Dark_Knight
@Dark_Knight
Game Dev

Можно ли изменять таймер при закрытом окне браузера?

Здравствуйте, подскажите пожалуйста.
Можно ли на фронт энде делать, какие-то манипуляции даже если пользователь закрыл окно браузера? К примеру, есть таймИнтервал, который включился, когда пользователь открыл окно браузера, потом пользователь закрыл окно и через некоторое время снова открыл, но при этом таймер продолжал все время работать?
Может, как-то писать информацию в локалсторадж?
Спасибо за помощь и ваше время.
  • Вопрос задан
  • 2265 просмотров
Пригласить эксперта
Ответы на вопрос 2
e-antonov
@e-antonov
можно писать, например в куку пользователя, время, когда таймер стартанул, и дальнейшие вещи делать отталкиваясь от этого. как вариант
Ответ написан
Комментировать
Я не тестировал этот код, но как-то так:
function onSomeAction() {
  var delay =  1000*60*5;
  var currTime = new Date();
  var nextTime = new Date(currTime + delay);
  localStorage.nextAction = nextTime;
  setTimeout(callSomeOtherAction,  delay);
}

window.onload = function() {
  var currTime = new Date();
  if (localStorage.nextAction) {
    var delay = localStorage.nextAction - currTime;
    if (delay >= 0) {
      setTimeout(callSomeOtherAction, delay);
    } else {
      delete localStorage.nextAction;
    }
  }
}

function callSomeOtherAction() {
  delete localStorage.nextAction;
  someOtherAction();
}

function someAction() { console.log(1); onSomeAction(); }
function someOtherAction() { console.log(2); }
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы