@Kekoc

Какой подход применить для обновления времени на сайте?

Здравствуйте. Необходимо реализовать поддержку нескольких часов на сайте 10+- с разными часовыми поясами. Как это лучше сделать ?
-- Идея №1 Каждую секунду через Ajax получать всё время для каждого часового пояса и обновлять соответствующие div'ы. Но если будет много клиентов , это же очень тяжело будет серверу получать ежесекундные запросы от каждого клиента.
-- Идея №2 Первоначально загрузив страницу получить время для каждого часового пояса и потом только прибавлять ежесекундно по 1 секунде к каждому времени через Js (setIntervals). Да вычисления будут выполняться на стороне клиента и снимет нагрузку с сервера, но если код будет выполнятся везде по разному, скажем больше секунды, то время по факту будет отставать.
-- Идея №3 На данный момент самая непонятная , есть различные реализации "постоянных подключений" к серверу.(polling,long-poll) comet и всё тому подобное. По сути реализует в себе Идею №1 и по этому не очень нравиться.
-- Идея №4 Использовать webSocket , да поддерживаться в относительно новых браузерах и это минус (хотя всё равно если честно всё что ниже IE 10 ) . Однако ещё один толстый минус, читал вроде как у этого функционала были проблемы с безопасностью (старые статьи возможно) и по этому webSocket отключены по умолчанию в некоторых браузерах, таких как Opera & Mozilla, кто что знает на этот счёт?

Собсна сам вопрос, как подступиться , чтобы не тратить время зря на заведомо неудачный вариант?
  • Вопрос задан
  • 2632 просмотра
Решения вопроса 2
vlad7rpk
@vlad7rpk
Linux-админ. Стаж 5 лет
Может получать время на машине клиента, строить для него таблицу корректировок для всех часовых поясов и отображать, делая корректировки?
Ответ написан
@mayorovp
Гляньте в сторону moment.js
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
72nomer
@72nomer
Комбинируйте варианты 1 и 2.
Обновление по ajax раз в минуту, а остальное время просто добавляйте по 1 секунде.
Время будет точным и нагрузка на сервер снизится соответственно.
Ответ написан
Комментировать
@Kekoc Автор вопроса
Можно установить часовой пояс для времени игнорируя время на клиенте . www.w3schools.com/jsref/jsref_setutchours.asp установкой параметра setutchours , отличное решений.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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