|
|
|
| Появилась идея сделать небольшую страничку с викторинкой, нужен скрипт, который перезагружал бы страницу по тайм-ауту...
Примерно так: юзер приходит, ему задается вопрос, начинает тикать время, по окончании которого дается правильный ответ и ссылка на следующий вопрос. А если он быстро отвечает правильно сам, то время должно вернуться взад, для постановки следующего вопроса.
Php - не проблема (теперь и во многом благодаря данному форуму), а вот Яву с нуля я как-то пока не готов. | |
|
|
|
|
|
|
|
для: DJ Paltus
(24.05.2005 в 15:50)
| | Java тоже не обязательна. Достаточно с помощью HTML-кода передать заголовок, перегружающий страницу.
<HTML><HEAD>
<META HTTP-EQUIV='Refresh' CONTENT='5; URL=page.php '>
</HEAD></HTML>
|
Здесь, через 5 секунд произойдет редирект на страницу page.php. Можно подставить имя текущей страницы. | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(24.05.2005 в 17:06)
| | это-то конечно хорошо, но игроку все же надо время показать ))
кстати,
1) этот рефреш могет запросто отбиваться настройками какого-нибудь приблудного файрвола (что они делают почти всегда), антиспама или чего еще,
2) в какой момент начинается измерение указанного времени? В момент подгрузки заголовка или окончания загрузки паги? | |
|
|
|
|
|
|
|
для: DJ Paltus
(24.05.2005 в 17:54)
| | >1) этот рефреш могет запросто отбиваться настройками какого-нибудь приблудного файрвола
Я таких в реальной ситуации не встречал. Запретить можно все. Даже срабатывание мета-тегов. Но если принять такую ситуацию, то сделать решительно ничего нельзя. Если уж мета-теги отключены, то JavaScript и подавно работать не будет :)
> в какой момент начинается измерение указанного времени?
Точно не скажу – нужен эксперимент. Думаю, что в момент загрузки заголовка. | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(24.05.2005 в 21:53)
| | Ладно, я тогда послезавтра на работе это дело погоняю. В принципе, минус только один остается - игрок не видит оставшегося времени... Хотя тут можно ему по тупому впаять флэш-часики и синхронизировать их ))
Тема не закрывается, полагаю. | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(24.05.2005 в 21:53)
| | Попробовал! Сразу вывод: если игрок нажимает ESC, то перехода страницы не происходит.
А значит, он получает неограниченное время на размышление.
Скрипт нужен... или выкручиваться по-страшному. | |
|
|
|
|
|
|
|
для: DJ Paltus
(25.05.2005 в 02:20)
| | > Сразу вывод: если игрок нажимает ESC
Хм... у вас получилось прервать выполнение редиректа по эскейпу? У меня не вышло. На эскейп не реагирует. Хотя, мета-теги перестают работать если нажать кнопку "рефреш".
Кстати, по эскейпу и любой JavaScript прекратит выполнение.
Ни с помощью HTML, ни с помощью JavaScript не получится так контролировать посетителя. Он всегда сможет обмануть выполняемые по этим технологиям web-приложения. На своей машине он царь и баг, а не вы как web-разработчик.
Возможно, здесь может помочь полноценная Java. | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(25.05.2005 в 05:22)
| | Можно по нажатию эскейпа давать алерт "Не трогай Эскейп" ))) | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(25.05.2005 в 05:22)
| | В общем, вот что получается:
http://chgk.d-source.com.ru/play/play.php
Полностью на пхп, а так хотелось на яве... Забавная фича - при нажатии кнопки "подсказка" страница по идее перезагружается, но время до перезагрузки динамически уменьшается. То есть, с погрешностью +-1-2 секунды пользователь получает на решение вопроса строгое время. Вспотел, пока эту возможность ввинтил. | |
|
|
|
|
|
|
|
для: DJ Paltus
(26.05.2005 в 16:07)
| | Можно кстати, еще и на сервере время перепроверять. Например в сессиях хранить время обращения к странице и сравнивать его со временем ответа. Тогда "морковкина заговения" даже с ESC уже не выйдет. Думать то можно будет, но ответ уже не будет принят. | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(27.05.2005 в 10:27)
| | Да, я это уже делаю. Но на самом деле, JS был бы более уместен и демократичен к пользователю, так как при модемном соединении есть большая разница между серверным временем, которое регистрируется в php и пользовательским системным, которое берет JS. :) | |
|
|
|