JQueryMobile - pagecontainerbeforeshow: удалить предыдущую страницу из истории - PullRequest
1 голос
/ 02 мая 2019

Использование jquery и обратного вызова pagecontainerbeforeshow Я хочу удалить предыдущую страницу из истории навигации - то есть, если пользователь переходит со страницы 1 на страницу 2, и пользователь нажимает на кнопку, которую я хочу выйти из " приложение».

Я нашел тот же вопрос здесь, но я не знаю, как реализовать ответ в pagecontainerbeforeshow?

Jquery mobile, удалить предыдущую страницу

 bindEvents: function() {

    $(document).on("pagecontainerbeforeshow", function(event,ui){

        var destinationPage = ui.toPage.prop("id");
        var sourcePage = ui.prevPage.prop("id");

        d.lg("destionationPage: " + destinationPage);
        d.lg("sourcePage: " + sourcePage);
        console.log("page to be shown =" + destinationPage);
        switch(destinationPage) {
            case 'restaurants':
                d.lg('redirected to list');

            break;
            case 'offers':

                d.lg('redirected to offers');

            break;

            }
        }); 
}

1 Ответ

0 голосов
/ 10 мая 2019

Бор в конечном итоге использовал альтернативу для изменения поведения кнопки возврата .

Если div с id=the_id_id_of_the_page присутствовал

  1. при pagecontainerbeforeshow событии backbutton будет связано с backButtonExit() функцией
  2. функция backButtonExit() вызовет выход из приложения

    navigator.app.exitApp()
    
  3. on pagehide функция backButtonExit будет удалена из button и поведение остановится

    $("#the_div_id_of_the_page").on('pagecontainerbeforeshow',function(){
      document.addEventListener("backbutton", backButtonExit,false);
    })
    
    $("#the_id_id_of_the_page").on('pagecontainerhide',function(){
      document.removeEventListener("backbutton", backButtonExit,false);
    })
    
    function backButtonExit(){
       // Phonegap
       navigator.app.exitApp();
       // Normal Browser
       window.close()
    }
    

это гораздо более простое решение, чем ваше, но оно также может быть включено в ваше заявление switch, если вам нужно. Также, если вы не используете phonegap , прочитайте этот пост

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...