Как предотвратить сброс таймера обратного отсчета при обновлении страницы

#javascript #timer

#javascript #таймер

Вопрос:

Привет, ребята, у меня проблема. Обратный отсчет моей страницы сбрасывается, когда пользователь обновляет страницу. Есть ли способ предотвратить его сброс? например, кто бы ни переходил на эту конкретную страницу, таймер будет таким, каким он был раньше, когда я его оставил? не для тех, кто переходит на эту страницу, а для всех, кто переходит на эту конкретную страницу, точно так же, как таймер обратного отсчета на этом сайте

playrps.net/

вот код:

http://myanimesekai.com/countdown.js

Пример:

http://myanimesekai.com/time.html

Я нашел много вопросов, похожих на этот, но пока никто на них не ответил..

Ответ №1:

Вам придется сохранить время начала или окончания для этого пользователя.

Вы можете сделать это на стороне сервера, если используете php или что-то подобное, но сохраните это в сеансе.

Вы также можете сделать это на стороне клиента, сохранив его в cookie или localStorage.

Ответ №2:

Это зависит от того, к чему вы ведете обратный отсчет:

Упомянутая вами страница использует абсолютное время в качестве ссылки для вычисления «обратного отсчета»:

var someTargetDate = '07/09/2014 12:00:00';

Таким образом, каждый раз, когда кто-то загружает страницу, значение счетчика вычисляется чем-то вроде:

 var counterValue = Date.parse(someTargetDate) - Date.now();
  

Однако, если целевая дата не известна статически и не может быть жестко запрограммирована в вашем HTML, например, если вы хотите установить «targetDate» равным ровно дню с момента первого перехода пользователя на вашу веб-страницу.
В этом случае вам необходимо установить (и отслеживать) targetDate в сеансах пользователей с помощью либо:

  1. API внутреннего сервера, который возвращает targetDate ИЛИ
  2. Сохраненные в браузере файлы (например, cookies)