Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/34: Рейтинг темы: голосов - 34, средняя оценка - 4.50
 Аватар для maruo
133 / 133 / 48
Регистрация: 26.04.2013
Сообщений: 1,356

Запрет обновления страницы или

05.01.2016, 18:22. Показов 6894. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как на JS можно запретить обновление страницы или же не дать выполнить SQL запрос пока таймер работает или не был дан ответ.

А суть моей проблемы такая. Мне вывелся вопрос, Таймер начал тикать у пользователя 10 секунд к примеру что бы ответить.
Если обновить страницу то мне выведется уже следующий вопрос и таймер обновится (даже если ответ не был дан) и если человек не отвечает на вопрос а просто клацает на обновление страницы и каждый раз новый вопрос и отвечает на самые легкие (к примеру).

А мне нужно , началась сессия, вывелся вопрос и таймер стартанул.(таймер есть)
К примеру 10 секунд на ответ. Если он надумал обновить страницу он должен остаться тут же с этим же вопросом и таймер не должен обновиться и начать отсчет заново. А если таймер остановился то я уже прописал location и кыш вон.

Подробнее код могу положить сюда или есть уже в разделе по PHP
Остаться на текущем вапросе после обновления страницы

Можно даже просто сказать возможно ли такое на JS и я тогда приступлю к его изучению
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.01.2016, 18:22
Ответы с готовыми решениями:

Запрет повторного просмотра страницы
нужно чтобы пользователь мог просмотреть страницу сайта только один раз в 24 часа я понимаю что нужно сперва узнать его ip адрес, есть...

Поиск по БД без обновления страницы
Пожалуйста подскажите/скиньте пример как сделать поиск по базе данных по нажатию кнопки с выводом информации на текущую страницу без ее...

Форма без обновления страницы
Народ подскажите как сделать форму без обновления страниц, типа как на платниках (пример составление диеты).

5
Superposition
 Аватар для Padimanskas
950 / 615 / 256
Регистрация: 27.10.2013
Сообщений: 2,083
05.01.2016, 19:05
maruo, Пользователь отправляет сигнал о том, что он приступил к очередному заданию, а сервер засекает время начала и закидывает его в сессию или в бд. Как только пользователь(то есть браузер) отправил следующий сигнал, то на сервере к сохраненному времени прибавляется 10 сек и отнимается текущее дата-время. Если результат меньше или равен нулю, то пользователь опоздал.
0
 Аватар для maruo
133 / 133 / 48
Регистрация: 26.04.2013
Сообщений: 1,356
05.01.2016, 19:13  [ТС]
Цитата Сообщение от Padimanskas Посмотреть сообщение
Пользователь отправляет сигнал о том, что он приступил к очередному заданию, а сервер засекает время начала и закидывает его в сессию или в бд. Как только пользователь(то есть браузер) отправил следующий сигнал, то на сервере к сохраненному времени прибавляется 10 сек и отнимается текущее дата-время. Если результат меньше или равен нулю, то пользователь опоздал.
Походу это не поему уровню знаний, для меня выглядит это сейчас чем то сверхъестественным
Придется переписать все заново и реализовать вывод вопросом помещая их в сессию
0
Superposition
 Аватар для Padimanskas
950 / 615 / 256
Регистрация: 27.10.2013
Сообщений: 2,083
05.01.2016, 19:27
maruo, никакой магии тут нет

1. Браузер отправляет серверу запрос методом GET ( например, нажали на ссылку или отправили ajax запрос )
2. Сервер сохраняет у себя собственное время. Например, текущее Tue Jan 05 2016 12:00:00
3. Браузер отправляет серверу следующий запрос методом GET
4. Сервер берет сохраненное время, прибавляет 10 сек и отнимает текущее время
Например ( Tue Jan 05 2016 12:00:00 + 00:00:10 ) - Tue Jan 05 2016 12:05:00
5. Если ( ( Tue Jan 05 2016 12:00:00 + 00:00:10 ) - Tue Jan 05 2016 12:05:00 ) <= 0 значит пользователь не успел ответить
0
 Аватар для maruo
133 / 133 / 48
Регистрация: 26.04.2013
Сообщений: 1,356
05.01.2016, 19:41  [ТС]
Это я так понимаю предотвратить обновление таймера?
А как же быть с тем что бы обновим страницу?Тогда получается таймер будет работать , а вопрос выведется другой.
0
Superposition
 Аватар для Padimanskas
950 / 615 / 256
Регистрация: 27.10.2013
Сообщений: 2,083
05.01.2016, 20:46
Цитата Сообщение от maruo Посмотреть сообщение
А как же быть с тем что бы обновим страницу?Тогда получается таймер будет работать , а вопрос выведется другой.
Очевидно, что сервер должен следить за прогрессом пользователя, то есть он не допустит к следующему шагу если предыдущий не был завершен. А в GET запрос включаются параметры - ответ на вопрос или что-нибудь другое. Предположим, передаем действие "ответ на вопрос", вариант ответа "1": http://sever.com/test.php?action=answer&variant=1

в разметке это обычная ссылка
HTML5
1
<a href="test.php?action=answer&variant=1">Ответить на вопрос</a>
либо вот такой способ
HTML5
1
<a href="#" onclick="this.setAttribute('href', 'test.php?action=answer&variant=1');">Ответить на вопрос</a>
можно и на javascript
JavaScript
1
2
3
anchor.onclick = function(){
    this.setAttribute('href', 'test.php?action=answer&variant=1');
};
Таймер на стороне клиента не нужен - пользователь сам инициирует проверки с помощью отправки след.запроса.
Конечно, его можно оставить, но только для декора. Так же, можно по завершении таймера автоматически обновить страницу
JavaScript
1
location.href = '/test.php';
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.01.2016, 20:46
Помогаю со студенческими работами здесь

Существует ли функция обновления страницы?
Мне нужно как-нибудь наложить условие на обновление страницы. Т.е. если пользователь нажал кнопку &quot;обновить&quot;, то.. есть ли...

Авторизация без обновления страницы
Подскажите, пожалуйста, как сделать авторизацию на javascript так, чтобы браузер запомнил поля input, но при этом не обновлял страницу, как...

Запрет обновления страницы
&lt;header onclick=&quot;location.href='#'&quot;&gt;&lt;div class=&quot;ipsLayout_container ipsClearfix&quot;&gt; &lt;div id=&quot;color_picker&quot; class=&quot;ipsPos_right&quot;&gt; &lt;div...

описание без обновления страницы
Собственно проблема в следующем: в левой части человек выбирает пункт(заголовок записи), нажимает на него, в правой подгружается его...

SetInterval() после обновления страницы
Здравствуйте! setInterval() после обновления страницы останавливается и запускается заново или запускает дубли? Нужно ли после...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru