Как отключить кнопку НАЗАД в браузере (во всех браузерах)?
asp.net
javascript
приянка.саркар
источник
источник
Ответы:
Этот вопрос очень похож на этот один ...
Чтобы это работало, вам нужно принудительно истечь срок действия кеша. Поместите следующий код на свою страницу с кодом позади.
источник
Не отключайте ожидаемое поведение браузера.
Сделайте так, чтобы ваши страницы учитывали возможность того, что пользователи вернутся на страницу или две назад; не пытайтесь повредить их программное обеспечение.
источник
Я придумал небольшой прием, который отключает кнопку «Назад» с помощью JavaScript. Проверял на chrome 10, firefox 3.6 и IE9:
Что он делает?
Из комментариев:
Этот сценарий использует тот факт, что браузеры рассматривают все, что идет после знака "#" в URL-адресе, как часть истории просмотров. Что он делает: когда страница загружается, к URL-адресу добавляется "# 1". Через 50 мс цифра «1» удаляется. Когда пользователь щелкает «назад», браузер изменяет URL-адрес обратно на тот, который был до удаления «1», НО - это та же веб-страница, поэтому браузеру не нужно перезагружать страницу. - Йоси Шашо
источник
Другие использовали подход, чтобы сказать «не делай этого», но на самом деле это не отвечает на вопрос автора. Давайте просто предположим, что все знают, что это плохая идея, но нам все равно интересно, как это делается ...
Вы не можете отключить кнопку «Назад» в браузере пользователя, но можете сделать это так, чтобы ваше приложение прерывалось (отображало сообщение об ошибке, требующее от пользователя начать заново), если пользователь вернется.
Один из подходов, которые я видел для этого, - это передача токена по каждому URL-адресу в приложении и в каждой форме. Маркер повторно создается на каждой странице, и как только пользователь загружает новую страницу, все маркеры с предыдущих страниц становятся недействительными.
Когда пользователь загружает страницу, страница будет отображаться только в том случае, если ей был передан правильный токен (который был предоставлен всем ссылкам / формам на предыдущей странице).
Приложение онлайн-банкинга, предоставляемое моим банком, выглядит следующим образом. Если вы вообще используете кнопку «Назад», ссылки больше не будут работать и перезагрузка страницы будет невозможна - вместо этого вы увидите уведомление о том, что вы не можете вернуться назад и вам нужно начинать заново.
источник
Пока я сам ищу ответ, «Лучшая практика» ... устарела ... Так же, как и браузеры (на самом деле браузеры - уродливые окаменелости)
Лучшее / самое безопасное решение для браузеров - реализовать метод / запрос, при котором пользователь может предоставить странице возможность управлять интерфейсом.
Зачем? Потому что для моего текущего проекта я создаю интерфейс, построенный и управляемый на 100% JavaScript. И кнопке «Назад» нет места в моем проекте, так как нет смены страницы. (То есть чертовски быстро и не мигает страница из-за обновления .. Как в реальном приложении!)
Я знаю, почему нет возможности «взломать» интерфейс, и я это понимаю. Но, по крайней мере, у нас должна быть возможность запрашивать его из браузера! Теперь это действительно было бы «лучшая практика» без опасностей кражи.
Но браузеры являются браузерами ... Я не ожидаю, что в этом отношении произойдет что-то особенное.
источник
Я искал тот же вопрос и нашел на сайте следующий код. Подумал поделиться здесь:
Однако, как отметили вышеупомянутые пользователи, это никогда не является хорошей практикой, и ее следует избегать по всем причинам.
источник
Если вы полагаетесь на клиентскую технологию, ее можно обойти. Например, может быть отключен Javascript. Или пользователь может выполнить сценарий JS, чтобы обойти ваши ограничения.
Я предполагаю, что вы можете сделать это только путем отслеживания сеанса пользователя на стороне сервера и перенаправления (как в Server.Transfer, а не Response.Redirect) пользователя / браузера на требуемую страницу.
источник
источник
Было несколько разных реализаций. Существует флэш-решение и несколько решений iframe / frame для IE. Проверить это
http://www.contentwithstyle.co.uk/content/fixing-the-back-button-and-enables-bookmarking-for-ajax-apps
Кстати: существует множество веских причин для отключения (или, по крайней мере, предотвращения 1 шага) кнопки «Назад» - посмотрите на gmail в качестве примера, который реализует хеш-решение, обсуждаемое в статье выше.
Погуглите, "как ajax сломал кнопку возврата", и вы найдете множество статей о пользовательском тестировании и обоснованности отключения кнопки возврата.
источник
У меня также была такая же проблема, используйте эту функцию сценария Java в теге заголовка или в, его 100% работоспособность отлично, не позволит вам вернуться.
источник
Попробуйте этот код. Работал у меня. Он в основном изменяет хеш, как только загружается страница, которая изменяет недавнюю страницу истории, добавляя «1» в URL. Поэтому, когда вы нажимаете кнопку «Назад», он каждый раз перенаправляется на одну и ту же страницу.
источник
Вы должны использовать сообщения с правильным истечением срока действия и кеширующими заголовками.
источник
Вместо того, чтобы пытаться отключить кнопку возврата в браузере, лучше поддержать ее. .NET 3.5 может очень хорошо обрабатывать кнопки браузера «назад» (и «вперед»). Выполните поиск в Google: "Scriptmanager EnableHistory". Вы можете контролировать, какие действия пользователя будут добавлять запись в историю браузера (ScriptManager -> AddHistoryPoint), и ваше приложение ASP.NET будет получать событие всякий раз, когда пользователь нажимает кнопки браузера «Назад / Вперед». Это будет работать для всех известных браузеров.
источник
В глобальном масштабе отключение кнопки возврата - действительно плохая практика. Но в определенных ситуациях функция кнопки «Назад» не имеет смысла.
Вот один из способов предотвратить нежелательную навигацию между страницами:
Верхняя страница (файл
top.php
):Вторая страница (файл
secondary.php
):Эффект состоит в том, чтобы разрешить переход с верхней страницы вперед на дополнительную страницу и назад (например, «Отмена») с использованием ваших собственных ссылок. Но после возврата на главную страницу кнопка возврата браузера не может перейти на дополнительную страницу.
источник
Даже я раньше сталкивался с такой же ситуацией ... и не получил никакой помощи. попробуйте эти вещи, может быть, это сработает для вас
в
<head>
теге страницы входа :в кнопке выхода из системы я сделал это:
и на странице входа я сосредоточил внимание на текстовом поле Username следующим образом:
надеюсь, это поможет ... :) кто-нибудь, пожалуйста, научите меня редактировать эту страницу ...
источник
ЕСЛИ вам нужно мягко подавить клавиши удаления и возврата в веб-приложении, чтобы при редактировании / удалении элементов страница не перенаправлялась неожиданно, вы можете использовать этот код:
источник
Попробуйте этот код. Вам просто нужно реализовать этот код на главной странице, и он будет работать для вас на всех страницах.
источник
Проблема с Йосси Shasho кодекса «s является то , что страница прокручивается к началу каждые 50 мс. Итак, я изменил этот код. Теперь он отлично работает во всех современных браузерах, IE8 и выше.
источник
Похоже, это сработало для нас.
источник
источник