Проблема со входом в GWT History - PullRequest
1 голос
/ 29 июня 2011

У меня следующая проблема. Это ситуация, когда я захожу в приложение и регистрирую историю. Рабочий процесс: 1. Есть проверка, если пользователь уже залогинен - ​​это означает, что объект пользователя находится в сеансе если нет, то загружается форма входа и добавляется новый токен (History.newItem («login»)) если да, то пользователь может свободно ввести основную форму в приложении и добавить токен (History.newItem ("main")). После успешного ввода пользователем pass и user добавляется новый токен (History.newItem (main)) и вводится основная форма приложения.

И вот в чем проблема, после того, как отображается основная форма и пользователь решает нажать «Назад» в браузере, тогда из стека берется токен «входа» и загружается форма входа. Но давайте предположим, что пользователь решил нажать кнопку «Вперед» в браузере, а затем «главный» токен был взят и основная форма отображена. Мне не нравится этот сценарий и я хочу сделать: после кнопки «назад» появиться диалоговое окно и спросить «Выйти из приложения?» с кнопками «Да» и «Нет», но я не могу определить, когда у меня есть обычный вход в систему или «назад / вперед», чтобы выполнить какое-либо действие.

Любые советы или подходы .. возможно, мой дизайн не так ..

Есть ли способ различить действия назад или вперед?

1 Ответ

4 голосов
/ 29 июня 2011

Если вы хотите избежать всего этого, не ставьте «логин» в историю.

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

Вы можете использовать «History.fireCurrentHistoryState ()» для принудительной перезагрузки текущей страницы. Это вызывает ваши обработчики истории, но не влияет на историю (токен не добавляется в стек истории).

...