Я использую 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);
});
}
вы пробовали " history.back(); "
Я думаю, это решит вашу проблему.
pagebeforeshow you add multiplied bindings on the same button. be specific and use
pageinit` с идентификатором страницы, т.е.$(document).on("pageinit", "#create-post, #login", function () { your code });
,