Обработка истории GWT и идентификаторов фрагментов - PullRequest
1 голос
/ 05 января 2012

У меня есть приложение 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 Ответ

3 голосов
/ 05 января 2012

Вы, вероятно, ищете History.newItem(newToken) (или History.newItem(newtoken, false), если не хотите, чтобы оно запускало событие).

Если еще не слишком поздно в вашем проекте, я бы посоветовал вамхотя вместо History используйте GWT Places и, возможно, GWT Activity (в зависимости от ваших потребностей).
Я написал несколько статей об этом некоторое время назад, когда они были введены в GWT 2.1:

...