Javascript 删除JQuery移动历史记录中的第一页

Javascript 删除JQuery移动历史记录中的第一页,javascript,jquery,jquery-mobile,cordova,Javascript,Jquery,Jquery Mobile,Cordova,我正在用jQuery手机做一个Cordova应用程序。我的第一个页面是“加载”页面,在这里我下载应用程序所需的所有数据。之后,应用程序进入菜单。我想从历史记录中删除加载页 我的问题是,据我所知,只有在使用$.mobile.changePage(changehash=false)加载页面时,才能在历史记录中禁用页面插入。 我正在使用jqueryMovile-1.4.2和cordova 3.4.0 有人知道解决这个问题的方法吗?您对changehash=false有什么问题 您应该在从加载页面转换到

我正在用jQuery手机做一个Cordova应用程序。我的第一个页面是“加载”页面,在这里我下载应用程序所需的所有数据。之后,应用程序进入菜单。我想从历史记录中删除加载页

我的问题是,据我所知,只有在使用$.mobile.changePage(changehash=false)加载页面时,才能在历史记录中禁用页面插入。
我正在使用jqueryMovile-1.4.2和cordova 3.4.0


有人知道解决这个问题的方法吗?

您对changehash=false有什么问题

您应该在从加载页面转换到菜单时使用它

这看起来很像我在自己的应用程序中所做的,只是我的历史记录是由主干处理的

$.mobile.changePage($("#menuPage"), {changeHash: false});
从jquery 1.4开始,您不应再使用$.mobile.changePage,而应:

$("body").pagecontainer("change",$("#menuPage"), {changeHash: false});

您需要做两件事,从DOM和导航历史中删除页面div。这可以通过收听
pagecontainershow
并读取
ui.prevPage
对象来完成,因为它保存了上一页(不是当前活动页)的数据

pagecontainershow
激发时,检查返回的
ui.prevPage
的类型,它不应该是
未定义的。如果在此阶段定义了
(表示已从DOM中的第一页移动到任何其他页),则从DOM和
$.mobile.navigate.history.stack中删除()

$.mobile.navigate.history.stack.splice(0,1)这将删除urlHistory堆栈中的第一条记录

$(document).on("pagecontainershow", function (e, ui) {
  if (typeof ui.prevPage[0] !== "undefined" && ui.prevPage[0].id == "pageID") {
    $.mobile.navigate.history.stack.splice(0,1);
    $(ui.prevPage).remove();
  }
});


您使用的是哪个版本?我使用的是jqueryMovile-1.4.2和cordova 3.4.0。这样做并不是将我的菜单页添加到历史记录中。我想要的是删除我的等待/加载页面。