Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как отследить событие смены локального времени пользователем? (https://javascript.ru/forum/events/40438-kak-otsledit-sobytie-smeny-lokalnogo-vremeni-polzovatelem.html)

lekba 05.08.2013 16:35

Как отследить событие смены локального времени пользователем?
 
нужно отследить и обработать событие, если пользователь сменил локальное время или браузер завис не менее 5 секунд
как проще всего это сделать?
возможно есть готовая функция такого события?

skrudjmakdak 05.08.2013 16:50

а есть какие то наброски, где вы это хотите применить?

lekba 05.08.2013 17:21

есть небольшой алгоритм будущей функции:
событие функции отслеживается раз в 1000мс через основную функцию setTimeout
в отдельной переменной, назовем ее "var prev" хранить снимок new Date().getTimestamp()
затем каждый вызов основной функции setTimeout проверять разницу, например
if current_time_sec - prev > 5 // then event
else var prev = new Date().getTimestamp()

вот, сейчас пробую реализовать

skrudjmakdak 05.08.2013 17:25

ну тогда уж лучше я думаю через setInterval))

lekba 05.08.2013 17:34

Цитата:

Сообщение от skrudjmakdak (Сообщение 265946)
ну тогда уж лучше я думаю через setInterval))

предложенный мной выше алгоритм является "костылями", думал есть что-то покрасивее, поэтому полез спросить на форум

Deff 06.08.2013 01:01

var tstDat = +new Date();
setInreval(function(){
   var dDelta = +new Date()-tstDat;
   if(dDelta<4000 || dDelta > 6000) {alert('Cбой по дате!');}
   tstDat=+new Date();
},5000}

skrudjmakdak 06.08.2013 09:26

Цитата:

Сообщение от Deff (Сообщение 266013)
var tstDat = +new Date();...

опа.. а что за плюсик такой?? перед new.. первый раз такую реализацию вижу

bes 06.08.2013 23:27

Цитата:

Сообщение от skrudjmakdak
опа.. а что за плюсик такой?? перед new.. первый раз такую реализацию вижу

не всегда что-то причём ;)
http://es5.javascript.ru/x11.html#x11.4.6


Часовой пояс GMT +3, время: 02:18.