Определите обновление, обратную или прямую навигацию или новую страницу в приложении gwtp - PullRequest
0 голосов
/ 03 октября 2019

Мне нужно определить, обновляется ли страница или осуществляется навигация с использованием кнопок «назад» и «вперед» или если представление является новым экземпляром в моем приложении 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.

...