目前,我遇到了历史记录问题。背部 ()。

我有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(先单击后退按钮无响应,然后第二次单击)> pageA

到第三次时,我需要单击后退按钮3次,然后才能使history.back()工作,我可以获得警报消息,因此调用了backToPrevious函数。

所以问题如下:


1st导航:pageA> pageB> pageA(1单击)
第2次导航:pageA> pageB> pageA(2次点击)
第3次导航: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();

    }

07-28 07:28