Мне нужно определить, обновляется ли страница или осуществляется навигация с использованием кнопок «назад» и «вперед» или если представление является новым экземпляром в моем приложении GWTP.
Если обновляется браузер, я хочу загрузить то же самоестраницы, загружая информацию о пользователях из файлов cookie. Если страница перемещается назад или вперед, я хочу предпринять некоторые действия, такие как очистка файлов cookie, если пользователь полностью переходит обратно на страницу входа. И если это новая загрузка страницы, я хочу проигнорировать Cookies и попросить пользователя для новой аутентификации. Я пытаюсь использовать приведенный ниже код для определения типа навигации.
public static native int loadType() /*-{
console.info($wnd.performance.navigation.type);
if($wnd.performance.navigation.type === 2) {
console.info( "This page is navigated back or forward" );
return 2;
}else if ($wnd.performance.navigation.type === 1) {
console.info( "This page is reloaded" );
return 1;
} else {
console.info( "This page is not reloaded");
return 0;
}
}-*/;
И в приложении я использую виджет Presenter и Presenter для каждого представления. Каждый раз я создаю новый виджет Presenter, чтобы данные из старого представления не сохранялись.
Но я получаю перезагрузку, когда использую приведенный выше код, когда нажата кнопка «Назад».
Любые идеи о том, как я могу точно захватить ее в GWT.