Расширение Chrome: Обнаружение нового дня (день изменился) в Javascript? - PullRequest
3 голосов
/ 14 марта 2011

Я знаю, что нет прослушивателя событий для нового дня (или часа / минуты, если на то пошло). Но в моем расширении Chrome мне нужно знать, когда начался новый день, а это значит, что мне придется использовать функцию setInterval, чтобы узнать, когда день изменился. Однако я не уверен, что использовать для значения интервала: 10 секунд или 10 минут? Я беспокоюсь об использовании процессора и памяти (постоянные вызовы setInterval), но я все еще хочу знать почти сразу, как только начинается новый день. Любые идеи относительно того, что является идеальным способом справиться с этим?

Ответы [ 2 ]

5 голосов
/ 14 марта 2011

Если вы имеете в виду новый день для пользователя , вы можете установить один тайм-аут при загрузке страницы.

function setnewdaytimer(){
    if(window.newdaytimer) clearTimeout(newdaytimer);
    var now= new Date,
    tomorrow= new Date(now.getFullYear(), now.getMonth(), now.getDate()+1); 
    window.newdaytimer= setTimeout(newdayalarm, tomorrow-now);
}
function newdayalarm(){
    alert((new Date()).toLocaleTimeString());
}

window.onload=setnewdaytimer;
0 голосов
/ 14 марта 2011

В зависимости от того, насколько точным вы хотите быть, единственный способ сделать это - установить интервал. Вы можете установить свою точность так, как хотите. 1 мин 5 мин 10 мин

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...