Как сделать скрипт обратного отсчета времени разный для всех пользователей сайта?
друзья.
Описание: Есть задача сделать лендинг со счетчиком обратного отсчета времени. Загвоздка в том, что время на счетчике должно быть разное для каждого пользователя. Важный момент - пользователи НЕзарегистрированные, то есть обычные гости сайта.
Зашел гость на сайт (например по ссылке из своей почты (ссылка всегда одна и та же, не меняется)), дальше увидел предложение и отсчет времени.
Как реализовать для каждого пользователя разное время отсчета и чтобы при обновлении страницы у пользователя, который уже заходил на страницу счетчик не обновлялся, а продолжал отсчитывать дальше?
Может при заходе на страницу брать на php текущее время и к нему прибавлять максимально доступное время предложения? Например макс время 3 часа (10800 секунд). Тогда 10800 + текущее время в секундах = конвертируем получаемую сумму в секунды. Но что если человек зашел, допустим, с Дальнего Востока, где разница с Москвой 6 часов, то что ему выведет echo date("H:i:s")? Время по Москве или время в его регионе? Если по Москве тогда этот вариант с текущим временем не вариант.
Пропуская решение проблемы с временем - можно записать в куки полученный результат, а при загрузке страницы проверять пустая ли Кука и если не пустая, то брать время из куки и пихать в счетчик для отсчета.
В общем я не прошу писать за меня скрипт, а прошу подсказать логику его работы. Если тебе показался этот вопрос недостойным твоего ответа, то не надо ставит минус, а проходи мимо.
Ответы (1 шт):
Ответили на тостере:
Всё реализуется на клиенте в JS. Минус в том, что у одного и того же человека на компе и в телефоне будут щёлкать разные таймеры.
Сохранять в браузере Unix timestamp некого момента в будущем, до которого и показывать оставшееся время.
Смотреть, есть ли у пользователя в LS или куках сохранённый ранее timestamp. Если нет — сгенерить случайный время-Ч в допустимом диапазоне и сохранить в LS или куках.
Щёлкать секундами, оставшимися до момента.