必须处理后退按钮,因此如果页面是登录页面,则会阻止。我已经尝试了很多方法,但都没有效果。我接近这些尝试:
我试着" document.referrer" :但返回空。 尝试$ routeChangeStart但该方法首先调用backButtonHandler,然后检查此方法是否被忽略。
(function () {
"use strict";
var pageHistoryCount = 0;
var goingBack = false;
document.addEventListener('deviceready', onDeviceReady.bind(this), false);
function onDeviceReady() {
// Handle the Cordova pause and resume events
document.addEventListener('pause', onPause.bind(this), false);
document.addEventListener('resume', onResume.bind(this), false);
document.addEventListener('backbutton',backButtonHandler.bind(this), false);
// TODO: Cordova has been loaded. Perform any initialization that requires Cordova here.
};
function onPause() {
// TODO: This application has been suspended. Save application state here.
};
function onResume() {
// TODO: This application has been reactivated. Restore application state here.
};
function exitApp() {
navigator.app.exitApp();
};
function backButtonHandler(e) {
window.history.back();
// i need this logic
//if(previus=="login"){
// }else{window.history.back(); }
};
})();
答案 0 :(得分:-1)
我同意Douglas Timms的观点。更好的做法是检查用户在尝试访问任何登录后页面时是否已经过身份验证,如果没有,则将其重定向回登录页面。在Javascript中,您可以跟踪用户何时尝试使用pageload或deviceready事件进入新路径。