Mam następujący logiczny dla mojej aplikacji mobilnych przy użyciu Cordova, a angularjsClose Cordova aplikacja na tylnej przycisku
Process moja logika w mobile.js zawarte w index.html jak zapisywania plików na sdcard następnie przekierować użytkownika z drugiej strony html używając
window.location.href="main.html";
który użyje pliki umieszczone w sdcard przez mobile.js
Emisja mam skierowaną jest to, że kiedy jestem na stronie głównej i na main.html użytkownika naciska przycisk powrotu, powraca do pliku index.html, a następnie, po proc Essing wraca do main.html zamiast do zamknięcia aplikacji.
Próbowałem przy użyciu obiektu history.length z „BackButton” EventListener
document.addEventListener('deviceready',function(){
document.addEventListener('backbutton',function(e){
console.log("history is "+history.length);
if(history.length==1){
e.preventDefault();
navigator.app.exitApp();
}
else{
navigator.app.backHistory();
}
},false);
},false);
ale to nie zmniejsza długość kiedy wraca, tylko zwiększa, więc aplikacja wraca do index.html . (history.length jest zawsze większa niż 1)
Szukałem rozwiązania dostępne, jak
document.addEventListener("backbutton", function(e){
if($.mobile.activePage.is('#homepage')){
/*
Event preventDefault/stopPropagation not required as adding backbutton
listener itself override the default behaviour. Refer below PhoneGap link.
*/
//e.preventDefault();
navigator.app.exitApp();
}
else {
navigator.app.backHistory()
}
}, false);
ale problem w użyciu go jest, gdy użytkownik przechodzi do
second-page->homepage->third-page->homepage
aplikacja zostanie zamknięta, ale zamiast tego powinna przejść do trzeciej strony.
spróbuje. –