Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.08.2012, 17:11
Интересующийся
Отправить личное сообщение для Rayzor Посмотреть профиль Найти все сообщения от Rayzor
 
Регистрация: 27.08.2012
Сообщений: 22

безостановочный Timer
Добрый день. Есть такое намерение - сделать таймер, который, запустившись на странице, будет продолжать отсчет и в случае перехода с этой страницы на другие (побыли 10 сек на другой - вернулись - на таймере соответственно натикало на 10 сек больше - сколько пропустили). И обновляться таймер должен только после отправки формы с введенной информацией.
Возможно ли такое сделать силами javascript?

Последний раз редактировалось Rayzor, 27.08.2012 в 17:14.
Ответить с цитированием
  #2 (permalink)  
Старый 27.08.2012, 19:17
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от Rayzor
(побыли 10 сек на другой - вернулись - на таймере соответственно натикало на 10 сек больше - сколько пропустили). И обновляться таймер должен только после отправки формы с введенной информацией.
Возможно ли такое сделать силами javascript?
Запускаете setInterval и считываете текущее время компутера в ms в глобальную переменную
при следущем вхождении в функцию считываете текущее время , проверяете разность с глобальной переменной, если примерно равно интервалу таймера ( погрешность 10-20%) - перезаписываете глобальную переменную ждете следующего перезапуска, при превышении разницы в два и более - очевидно вернулись с какой то страницы на текущую

Зы - в Ие таймер работает и на нетекущих вкладках , так шо тут непонятка( возможно будет погрешность чуть больше... не наю)

Последний раз редактировалось Deff, 27.08.2012 в 21:06.
Ответить с цитированием
  #3 (permalink)  
Старый 27.08.2012, 20:58
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Deff, тыща смотриЦа круто
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #4 (permalink)  
Старый 27.08.2012, 21:04
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

nerv_,
спс (мну нравилось 999, хотя имхо - по сравнению с 30000 эт ерунда
Ответить с цитированием
  #5 (permalink)  
Старый 27.08.2012, 21:26
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,492

Только пользователь сможет сбросить такой таймер сменой времени компьютера.)
__________________
29375, 35
Ответить с цитированием
  #6 (permalink)  
Старый 27.08.2012, 22:25
Интересующийся
Отправить личное сообщение для Rayzor Посмотреть профиль Найти все сообщения от Rayzor
 
Регистрация: 27.08.2012
Сообщений: 22

не хочется в серверной части проверки делать, чтоб не нагружать.
наверно придется в ajax копать, да?
хотя для начала можно и понадеяться на порядочность юзеров и то что они не успеют смахинировать )
Ответить с цитированием
  #7 (permalink)  
Старый 27.08.2012, 22:29
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от Rayzor
не хочется в серверной части проверки делать, чтоб не нагружать.
Rayzor,
Дык вроде про клиента речь ? Не вижу в данной идее обращений к серверу

Сообщение от Aetae
Только пользователь сможет сбросить такой таймер сменой времени компьютера.)
Если он его не дрыгает постоянно - можно брать два отсчёта и две глобальных переменных,
к примеру - второй отсчет через 100ms от первого и если в обоих отсчетах разность превышает (хотя событие редкое - чисто спор за интерес

Последний раз редактировалось Deff, 27.08.2012 в 22:33.
Ответить с цитированием
  #8 (permalink)  
Старый 27.08.2012, 22:43
Интересующийся
Отправить личное сообщение для Rayzor Посмотреть профиль Найти все сообщения от Rayzor
 
Регистрация: 27.08.2012
Сообщений: 22

Да, Deff, спасибо. Попробую.
Ответить с цитированием
  #9 (permalink)  
Старый 28.08.2012, 10:24
Интересующийся
Отправить личное сообщение для Rayzor Посмотреть профиль Найти все сообщения от Rayzor
 
Регистрация: 27.08.2012
Сообщений: 22

Сообщение от Deff Посмотреть сообщение
Запускаете setInterval и считываете текущее время компутера в ms в глобальную переменную
при следущем вхождении в функцию считываете текущее время , проверяете разность с глобальной переменной, если примерно равно интервалу таймера ( погрешность 10-20%) - перезаписываете глобальную переменную ждете следующего перезапуска, при превышении разницы в два и более - очевидно вернулись с какой то страницы на текущую
вот блин, не получается. не могли бы набросать примерный код?
Ответить с цитированием
  #10 (permalink)  
Старый 28.08.2012, 11:06
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

<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>

Последний раз редактировалось Deff, 28.08.2012 в 13:12.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать что бы пока курсор находится на блоке что-либо происходило? Cron532 Общие вопросы Javascript 2 17.03.2012 12:03
Извлечь из ссылки число Dorian_bs Общие вопросы Javascript 29 13.12.2011 08:59
jQuery Timer - обратный отсчет времени в 10 минут adax jQuery 1 01.11.2011 14:54