|
|
|
| есть скрипт, алгоритм которого прост:
1. человек заходит на страницу, включается таймер (отсчет времени назад)
2. Счетчик установлен к примеру на 10 секунд
3. По истечению 10 секунд, человеку выводится какая то информация.
код таймера на JS
<script>
var TA = 10; // отчетная метка в секундах
var CT = 1; // период изменения показаний таймера в сек
onload = function myTimer ()
{
if (TA > 0)
{
TA--;
document.getElementById ('tim01').innerHTML = ((TA < 10) ? '0' : '') + '' + TA;
setTimeout (myTimer, CT * 1000);
}
else
{
document.getElementById ('tim01').style.display = 'none';
document.getElementById ('result').style.display = 'block';
}
}
</script>
|
<!--Выводим-->
<SPAN ID="tim01"></SPAN>
<SPAN ID="result" style="display: none">Информация</SPAN>
|
Проблема возникла в том, что таймер, при обновлении страницы средствами браузера становится на отчетную метку т.е 10 секунд.
Вопрос: Что нужно сделать чтобы счетчик таймера не обновлялся, а дошел до конца и человеку была показана информация?
Перерыл наверное весь поиск, вразумительного ответа не нашел. | |
|
|
|
|
|
|
|
для: chexov
(08.12.2009 в 09:19)
| | Надо ставить и читать куки.
Конкретная реализация зависит от того - что именно вам надо показать на странице в случае, если клиент обновит страницу, не дождавшись окончания работы таймера.
Ну и, разумеется, вам надо определиться - какое именно время должны существовать куки, т.е. начиная с какого времени при следующем вызове страницы тем же клиентом ему снова надо включать таймер. | |
|
|
|
|
|
|
|
для: АЯ
(08.12.2009 в 15:44)
| | а если как вариант, отталкивание от даты которая записана в БД? т.е в БД есть некая дата в формате unixstamp от нее считать, только не соображу как...чую что тут асинхронизация нужна... | |
|
|
|
|
|
|
|
для: chexov
(09.12.2009 в 02:18)
| | Хм...
Ситуация 1. Товарищ Х впервые зашёл на ваш сайт 1 мая 2010 года. Дождавшись окончания работы таймера, он через 10 (20-100) секунд обновил страницу. Вы хотите, чтобы он снова не получил таймер. Это понятно и нормально. И именно об этом был ваш вопрос.
Ситуация 2. Товарищ Y впервые зашёл на ваш сайт 1 мая 2010 года. НЕ дождавшись окончания работы таймера, он обновил страницу. Что надо показать товарищу Y в этом случае - таймер или без таймера? - спрашиваю вас я. Вы не отвечаете, а несёте какую-то пургу про БД и асинхронизацию.
Ситуация 3. Товарищ Z впервые зашёл на ваш сайт 1 мая 2010 года. Неважно, что он делал (или не делал) с обновлением страницы. Он "отличился" тем, что зашёл на ваш сайт ещё и 2-го мая 2010 года. Что надо показать товарищу Z в этом случае, 2-го мая 2010 года - таймер или без таймера? - спрашиваю вас я. Но вы не отвечаете, а несёте какую-то пургу про БД и асинхронизацию.
[поправлено модератором] | |
|
|
|
|
|
|
|
для: АЯ
(09.12.2009 в 02:30)
| | >Надо ставить и читать куки.
>Конкретная реализация зависит от того - что именно вам надо показать на странице в случае, >если клиент обновит страницу, не дождавшись окончания работы таймера.
>Ну и, разумеется, вам надо определиться - какое именно время должны существовать куки, >т.е. начиная с какого времени при следующем вызове страницы тем же клиентом ему снова >надо включать таймер.
мне НЕ подходит, нормальная реакция, поинтересоваться почему (либо промолчать), а вы проявляете агрессию, да еще к тому же грубите. Отвечаю почему, мне нет необходимости использовать куки, во вторых: не важно что будет отображаться при обновлении страницы, главное чтобы таймер продолжил считать не возвращаясь в исходное положение. Также поясняю КАК, будут определяться ТОВАРИЩИ N, их id имеются в БД, и на страницу с таймером они могут попасть только после авторизации!!!!
[поправлено модератором] | |
|
|
|