Запрещение пользователю использовать кнопки «Назад» и «Вперед» браузера - PullRequest
0 голосов
/ 16 марта 2012

Я занимаюсь разработкой веб-приложения с использованием JSF 2.0 и разработал панель навигации, которую пользователь должен будет использовать для навигации по страницам.Панель прекрасно проснулась.Но в то же время я не хочу, чтобы пользователь использовал «Назад», «Вперед» браузера для навигации.Моя идея состоит в том, чтобы, если пользователь нажмет какую-либо одну из этих кнопок, я аннулирую сеанс и покажу ему информационную страницу.Не уверен, как добиться этого в JSF 2.0, есть вариант JavaScript, но мне интересно, есть ли в JSF какая-либо поддержка API для этого ???

1 Ответ

6 голосов
/ 16 марта 2012

Не запрещайте пользователю использовать элементы управления, с которыми он знаком.Во-первых, он связан со многими техническими проблемами, но, что более важно, он отличается от очень, очень распространенных парадигм, ожидаемых пользователями.

Допустимо манипулировать историей браузера в некоторых случаях, а в некоторых случаяхВ некоторых случаях допустимо запрашивать пользователя перед выходом из экрана (например, бизнес-приложение, в котором работа может быть потеряна при навигации пользователя).

Это может подойти для выполнения проверкис JavaScript до ухода со страницы, если пользователь рискует потерять значительную работу.Затем вы могли бы предложить пользователю, и если он выберет навигацию, код вашего сервера может проверить URL-адрес ссылки и определить из параметра, какой поток принял пользователь.

Относительно конкретной технологии;проверить переменную строки запроса легко практически с любой серверной технологией (а JavaScript с или без jQuery будет работать для любой логики на стороне клиента).

Опять же, избегайте этого, если нет другой альтернативы.

В этом обсуждении содержится информация об отключении кнопки "назад" (почему это не очень хорошая идея, а также возможные альтернативы и варианты).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...