我在Android上使用jQuery Mobile + Phonegap进行页面导航时遇到问题。 我正在尝试复制Android堆栈导航。
情况如下:
用户未登录且位于主页
问题是: 当用户按下后退按钮时,它应该返回主页面,而不是登录页面。
但历史上的“堆叠”是这样的:
主要|登录|行动A
我试着这样做:
// return from Login page to Main:
history.back(); // $.mobile.back(); works the same way in this case.
// then go to Action A page:
$.mobile.changePage( pageA );
但是“更改页面”是在“后退”命令之后执行的,因此它会进入操作A页面,然后返回登录页面。
在Android上,这是一项非常简单的任务。 :(
答案 0 :(得分:0)
您可以使用
window.history.go(-2) //Go two pages back
或两次相同的方法
history.back(); //Go one page back
history.back(); //Go another one page back
答案 1 :(得分:0)
只是不要“回”并导航到下一页。
在“ onBackPressed ”事件处理程序中,检查JQM堆栈并使用history.go(-2)。像这样:
var index = $.mobile.navigate.history.activeIndex - 1;
if ( index >= 0 ) {
var backStep = -1; // back one by default
var hash;
while ( index > 0 ) {
hash = $.mobile.navigate.history.stack[ index ].hash;
if ( hash == "#pageLogin" ) {
backStep--;
}
index--;
}
window.history.go( backStep );
}