Хелло, я делаю приложение для викторины и хочу установить таймер. Я хочу сделать это в Javascript. Это моя функция:Предотвращение остановки таймера при неактивном окне Javascript
function countDown(sec, elem) {
_(elem).innerHTML = sec;
if(sec < 1) {
clearTimeout(timer);
endGame();
return;
}
sec--;
var timer = setTimeout('countDown('+sec+',"'+elem+'")',1000);
}
Проблема заключается в том, что, например, для мобильного браузера Саффарей, когда вы держите палец на экране (например, прокрутку эффекта), таймер останавливается, но вы все еще можете увидеть вопросы ... Итак, в принципе, вы можете иметь неограниченное время. Как я могу заставить таймер запускать нотатер?
Спасибо заранее!
Самый безопасный способ: дважды проверить время на стороне сервера. Другой способ: сохранить время начала в переменной JS и проверить время отправки. –
thats, что я думал, но может быть, есть защищенный способ сделать это в Javascript ... – user2840278
Javascript однопоточный. Если он занят в ответ на событие, он не может запускать обработчики таймера. – Barmar