目前我遇到了历史记录问题。返回()。
我有2个页面,分别是pageA.html、pageB.html。
我使用以下代码转到下一页并返回上一页
// go to next page
function changePage(url) {
$.mobile.pageContainer.pagecontainer("change", url, {
allowSamePageTransition: true,
transition: 'none',
showLoadMsg: false,
reloadPage: false,
changeHash: true
})
}
//back to previous page
function backToPreviousPage(){
alert("back");
history.back();
}
代码第一次工作正常,如下流程
第一次:pageA > pageB(单击后退按钮一次)> pageA
这样我又成功回到pageA了。问题来了。
第二次:pageA > pageB(第一次点击后退按钮无 react ,再点击第二次)> pageA
当第三次时,我需要点击后退按钮3次,然后才能使history.back()起作用,我才能收到警报消息,因此调用backToPrevious函数。
所以问题如下:
- 第一次导航:pageA > pageB > pageA(1 次点击)
- 第二次导航:pageA > pageB > pageA(2次点击)
- 第三次导航:pageA > pageB > pageA(3次点击)
等等......
我不能只是在 backToPrevious 函数中硬编码导航回 pageA,因为我不仅可以从 pageA 导航到 pageB,还可以从其他页面导航 pageB。
到目前为止我已经尝试过这个
history.back(-1);
还有这个
<a data-rel="back" href="javascript:history.back(1)" data-theme="a">Back</a>
但仍然无法解决问题。
如果有人能告诉我我做错了什么,我将不胜感激。 谢谢。
最佳答案
只需使用此代码即可。
function changePage() {
$.mobile.changePage("pageA.html");
return false;
}
function backToPreviousPage(){
navigator.app.backHistory();
}
关于javascript - jquery mobile History.back() 仅在第一次时有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24286172/