Javascript 如果未登录,则Phonegap索引重定向到登录
因此,我在myapp.js上有一个与索引页相关的javascript:Javascript 如果未登录,则Phonegap索引重定向到登录,javascript,android,cordova,phonegap,Javascript,Android,Cordova,Phonegap,因此,我在myapp.js上有一个与索引页相关的javascript: myApp.onPageBeforeInit('index', function (page) { if (localStorage.login == 'true') { console.log('logged'); } else if (localStorage.login == 'false') { console.log('not
myApp.onPageBeforeInit('index', function (page) {
if (localStorage.login == 'true') {
console.log('logged');
}
else if (localStorage.login == 'false') {
console.log('not logged in')
mainView.router.loadPage({
url: 'login.html',
ignoreCache: true,
reload: false});
}
}).trigger();
它的作用是,每次我进入索引页面时,如果我没有登录,它会将我发送到登录
问题是,我使用的是pushState:true
,所以android的后退按钮可以工作。
但是当我被重定向到登录页面时,如果我按下后退按钮,我会再次转到索引页面,即使我没有登录,它也不会再重定向我,因为该页面之前已经启动,并且没有再次启动…我如何修复此问题
一个解决办法是强制pushState在返回时总是重新加载上一页…但我不知道如何做到这一点
有什么帮助吗?您可以尝试在另一个事件中添加相同的“已记录”测试,例如“onPageBeforeAnimation”或“onPageBack”(或者如果处于索引中且未记录,也可以防止状态被推送到历史记录中)。您的意思是对onPageBeforeAnimation和onPageBack也执行相同的操作吗?我不认为它会起作用。。。因为当我按下“上一步”按钮时,它只是返回到历史记录中,视图更改为最后一个,但我认为不会执行任何代码。理论上,在转换到另一个页面之前,会执行
onPageBeforeAnimation
(您应该测试目标页面,而不是当前页面),和onPageBack
当您按下后退按钮时(仍然需要找到如何获取目标页面),我看不出有任何理由不触发这些命令