безостановочный Timer
Добрый день. Есть такое намерение - сделать таймер, который, запустившись на странице, будет продолжать отсчет и в случае перехода с этой страницы на другие (побыли 10 сек на другой - вернулись - на таймере соответственно натикало на 10 сек больше - сколько пропустили). И обновляться таймер должен только после отправки формы с введенной информацией.
Возможно ли такое сделать силами javascript? |
Цитата:
при следущем вхождении в функцию считываете текущее время , проверяете разность с глобальной переменной, если примерно равно интервалу таймера ( погрешность 10-20%) - перезаписываете глобальную переменную ждете следующего перезапуска, при превышении разницы в два и более - очевидно вернулись с какой то страницы на текущую Зы - в Ие таймер работает и на нетекущих вкладках , так шо тут непонятка( возможно будет погрешность чуть больше... не наю) |
Deff, тыща смотриЦа круто :yes:
|
nerv_,
спс (мну нравилось 999, хотя имхо - по сравнению с 30000 эт ерунда |
Только пользователь сможет сбросить такой таймер сменой времени компьютера.)
|
не хочется в серверной части проверки делать, чтоб не нагружать.
наверно придется в ajax копать, да? хотя для начала можно и понадеяться на порядочность юзеров и то что они не успеют смахинировать ) |
Цитата:
Дык вроде про клиента речь ? Не вижу в данной идее обращений к серверу Цитата:
к примеру - второй отсчет через 100ms от первого и если в обоих отсчетах разность превышает (хотя событие редкое - чисто спор за интерес |
Да, Deff, спасибо. Попробую.
|
Цитата:
|
<div id="Alert" style="display:none;">Вернулись с иной страницы</div> <script type="text/javascript"> var TekTimer = new Date().getTime(); var interval = 600; var Interval_ID; clearInterval(Interval_ID); Interval_ID = setInterval( function() { var b = new Date().getTime(); //alert((b-TekTimer)< 1.2*interval) if((b-TekTimer)>( 1.2*interval)) document.getElementById('Alert').style.display='block'; //else document.getElementById('Alert').style.display='none'; TekTimer=new Date().getTime(); },interval) </script> |
Часовой пояс GMT +3, время: 22:34. |