Обработка истории GWT и идентификаторов фрагментов
У меня есть приложение GWT, которое принимает эти токены:
http://127.0.0.1:8888/app.html?gwt.codesvr=127.0.0.1:9997#user&someuser
Это откроет представление (как в MVC), которое работает просто отлично. Однако проблема заключается в том, что в представлении есть меню, которые могут переключаться на другое представление, например переключаться на профиль пользователя и т. Д. Приведенный выше URL-адрес остается прежним, но содержимое страницы полностью изменяется.
Есть ли способ обработать кнопку возврата браузера в этом случае. Кнопка "Назад" прекрасно работает, возвращаясь к просмотрам, вызванным фрагментами URL (набирая в адресной строке браузера), например, переключаясь на #user&someuser
в #profile
Проблема, однако, когда вид изменяется из событий меню или кнопок. Есть ли способ эмулировать такой же эффект, как если бы пользователь вводил фрагменты URL вручную? Такая, что кнопка назад будет работать. Кстати, каждый фрагмент URL связан с одним представлением.
1 ответ
Вы, вероятно, ищете History.newItem(newToken)
(или же History.newItem(newtoken, false)
если вы не хотите, чтобы это событие запустилось).
Если в вашем проекте еще не слишком поздно, я бы посоветовал вам использовать GWT Places вместо History
и, возможно, мероприятия GWT (в зависимости от ваших потребностей).
Я написал несколько статей об этом некоторое время назад, когда они были введены в GWT 2.1: