Например, текущей страницей является www.google.com. Но я ввел другой адрес веб-сайта в строке поиска и нажал. Этот сайт имеет полностью код GWT.
Но мне нравится отступать к предыдущей странице www.google.com. Таким образом, я нажал кнопку "Назад" browser.but, как я могу получить событие кнопки "Назад" из текущего кода GWT. Я могу установить какой-либо backbutton обработчик событий в GWT текущей страницы? Тот, который уведомляет предупреждение мне, что кнопка "Назад" была нажата.
Есть ли от GWT какое-либо решение?
+1 к Игорю и Алексу. Вот код, который вы можете использовать, если хотите использовать ClosingHandler:
Window.addWindowClosingHandler(new Window.ClosingHandler() {
@Override
public void onWindowClosing(final ClosingEvent event) {
event.setMessage("Don't you think my site is awesome?");
}
});
Некоторая информация из Javadoc ClosingHandler.onWindowClosing():
/* Fired just before the browser window closes or navigates to a different
* site. No user-interface may be displayed during shutdown. */
Вы можете реализовать интерфейс HistoryListener
: метод вашего класса onHistoryChanged
будет вызываться (с маркером String
) при каждом нажатии на кнопки назад и вперед. Затем вы можете взаимодействовать с классом History, который имеет, например, статический метод back()
для "возврата назад". Однако я не совсем уверен, что он возвращается назад вплоть до до начала работы GWT (но попробовать, конечно, стоит;-)).
Есть Window.ClosingEvent
:
Выполняется непосредственно перед тем, как окно браузера закрывается или переходит на другой сайт.
Другой вариант - History.addValueChangeHandler
, который слушает изменения в стеке истории браузера (более подробную информацию см. в документации).