В онлайн-экзамене, когда у кандидата есть клик на кнопке запуска, я не хочу позволять ему вернуться (на предыдущие страницы), и он должен быть на одной странице, если он выполняет какие-либо действия, используя свойства браузера. После этого он нажимает кнопку отправки, выходя из этой страницы.
Здесь, если я очищаю кеш и нажимаю кнопку браузера, страница говорит как «Истек срок действия документа. Запрошенный документ недоступен в кеше Firefox». Поэтому я не хочу, чтобы очистить cach insted, мне нужно отключить функцию возврата, т. Е. Ничего не должно произойти нажав кнопку «Назад».
если кто-нибудь знает, дайте мне знать, как достичь этой концепции ……
Попробуйте этот скрипт
<script> window.location.hash="no-back-button"; window.location.hash="Again-No-back-button";//again because google chrome don't insert first hash into history window.onhashchange=function(){window.location.hash="no-back-button";} </script>
Также перейдите по этой ссылке . Эта ссылка содержит демонстрационный пример и код загрузки
Хотя вы можете предотвратить кнопку «Назад», вы не можете запретить пользователю отключать JS во время экзамена. Это делает использование JS практически бесполезным.
Предполагая, что предыдущие страницы являются вопросами, я предлагаю, чтобы после того, как пользователь удалился от страницы, любой дальнейший доступ к этой странице будет недействительным. Это можно легко сделать, используя серверный язык и базу данных для отслеживания посещаемых пользователем страниц.
Обратите внимание, что некоторые браузеры выполняют «обновление» на предыдущей странице при выполнении обратной операции, а другие загружают их из кеша. Последний сделает страницу доступной, даже если вы отметили ее недоступной на сервере. Далее вы можете сделать недействительными любые действия, предпринятые на этой странице, как только они были признаны недействительными для доступа. Таким образом, даже если у пользователя была копия этой страницы, он ничего не может с этим поделать.
Кроме того, это экзамен, а JS – плохое место, чтобы поместить какую-то логику экзамена, так как его можно легко проверить и изменить. Вместо этого вы должны оставить все на сервере.
Вы можете использовать replace()
window.location.replace('your url here');
Попробуйте использовать следующую страницу, чтобы предотвратить разгрузку формы.
$(window).on('beforeunload', function(){ return false; });
Или попробуйте разгрузить функцию и не допускайте разгрузки текущей страницы.
вы не можете фактически переопределить поведение браузера по умолчанию, это проблема безопасности среди браузеров.
однако в некотором смысле вы можете закодировать код, который заставит вашу заднюю панель отключиться. Проверьте один из моих ответов, которые я дал некоторое время назад. как остановить кнопку назад, используя javascript . Это все еще отлично работает для меня (неудача для IE-7). Но что, если кто-то отключит javascript в браузере. Это полностью исключает эту логику, что может быть редким случаем.
другой практикой, которой вы можете следовать, является открытие вашей ссылки на страницу внутри window.open()
. Но у него есть свои преимущества и недостатки. Глянь сюда