Android-приложение PhoneGap 3.2.0 Назад кнопка вырезать только для некоторых страниц

0

Я использую phonegap 3.2.0. Я хочу настроить кнопку "Назад" в приложении Android для некоторых страниц. Для другой страницы он ведет себя как свое поведение по умолчанию.

Я видел много сообщений, чтобы изменить поведение кнопки "Назад", но нигде не обнаружил, как переключаться между настройками по умолчанию и настраивать поведение на странице изменений.

В моем приложении 4 страницы

  • авторизоваться
  • создать пост-
    • финиш-пост
  • настройки

Меню навигации боковой панели имеет три ссылки

  • Создать пост (для страницы создания-публикации)
  • Настройки (для страницы настроек)
  • Выход (для входа в систему)

finish-post открывается только после заполнения формы на страницах создания-публикации. После завершения сообщения пользователь будет перенаправлять снова на страницу создания-публикации.

Вопрос: Когда пользователь нажимает кнопку "Назад" на странице "Создать-сообщение", когда он приходит с логина или страницы окончания, приложение должно выйти, иначе оно должно занять меня на последней посещенной странице.

Я пробовал следующий код

document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady()
{
    $(document).on('pagebeforeshow', function(e, data){
        document.addEventListener("backbutton", function(){ 
            var lastpageid = data.prevPage.attr('id'); //LAST PAGE ID
            var currentpageid = $.mobile.activePage[0].id //CURRENT PAGE ID

        if(currentpageid == 'create-post' && (lastpageid == 'login' || lastpageid == 'finish-post')){
                navigator.app.exitApp(); 
            }else{
                return true; // WHAT TO PUT HERE ?
                //WHEN I PUT $.mobile.changePage('#'+lastpageid, { transition: 'slide' }, true); 
                //THEN FIRST IT OPENING LOGIN PAGE THEN AGAIN create-post PAGE
                //AGAIN AND AGAIN DOING LIKE THIS. 
                //THIS BEHAVIOR OCCUR WHEN I PRESS BACK BUTTON ON finish-post.
            } 
        }, false);
    });
 }
  • 0
    с помощью pagebeforeshow you add multiplied bindings on the same button. be specific and use pageinit` с идентификатором страницы, т.е. $(document).on("pageinit", "#create-post, #login", function () { your code }); ,
Теги:
cordova
jquery-mobile

1 ответ

0

вы пробовали " history.back(); "

Я думаю, это решит вашу проблему.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню