Таймер обратного отсчёта
Помогите пожалуйста сделать так чтобы таймер продолжал отсчёт после обновления страницы.
Понимаю что это можно сделать с помощью куки или сессии, но не могу допереть как, потому что в javascript плохо разбираюсь. Заранее благодарен ! Код: <body OnLoad="refresh();"> <script language="JavaScript" type="text/javascript"> <!-- // выставляем секунды var sec=00; // выставляем минуты var min=01; function refresh() { sec--; if(sec==-01){sec=59; min=min-1;} else{min=min;} if(sec<=9){sec="0" + sec;} time=(min<=9 ? "0"+min : min) + ":" + sec; if(document.getElementById){timer.innerHTML=time;} inter=setTimeout("refresh()", 1000); // действие, если таймер 00:00 if(min=='00' && sec=='00'){sec="00"; clearInterval(inter); window.location='http://www.;} } //--> </script> </body> |
Если тебе нужно обновить страницу каждое определенное время. то meta тебе в помощь!
<META HTTP-EQUIV='Refresh' CONTENT='10; URL=index.php'> |
Спасибо за внимание, но мне нужно не это.
Надо чтобы после обновления страницы таймер начинал отсчет с того же места что и до обновления. |
TaypeH,
складывайте переменную перед переходом в window.name При загрузке - первым делом проверяете её наличие Пример window.name='Привет' alert(window.name) |
записывайте в localStorage по событию unload
<script> alert(localStorage.tim); window.onunload = function(e){ localStorage.tim=document.getElementById('i').value; }; </script> <body> <input id=i value='text'> при обновлении страницы запоминается последнее значение |
vadim5june,
C localStorage может быть баг при открытии новой вкладки с данного ресурса ? (Типо исходил из window.name из этого |
Спасибо, буду пробовать)
|
Ещё раз спасибо!
С задачей справился следующим образом: <body OnLoad="refresh();"> <script language="JavaScript" type="text/javascript"> <!-- if(window.name=='00') { // выставляем секунды var sec=00; // выставляем минуты var min=01; } if(window.name>'00') { // выставляем секунды var sec=window.name; // выставляем минуты var min=00; } function refresh() { sec--; if(sec==-01){sec=59; min=min-1;} else{min=min;} if(sec<=9){sec="0" + sec;} time=(min<=9 ? "0"+min : min) + ":" + sec; if(document.getElementById){timer.innerHTML=time;} inter=setTimeout("refresh()", 1000); window.name=sec; // действие, если таймер 00:00 if(min=='00' && sec=='00'){sec="00"; clearInterval(inter); window.location='http://www.';} } //--> </script> </body> |
Часовой пояс GMT +3, время: 20:39. |