我查看了jQuery Mobile文档无济于事,所以希望有人在这里解决了我到目前为止还没有找到的方法。
我有一个jquery移动页面,以通常的方式提供(称之为“项目显示”)。它包含有关特定项目的信息。此页面上有一个按钮,可以将用户带到一个页面,在该页面中,他/她可以在显示的项目上记录笔记(基本上是一个大文本区域)。单击备注页面上的“保存”POST并重定向回项目显示页面。
我的问题是,一旦保存了笔记,我希望项目显示页面上的“后退”按钮链接回用户在首次访问项目显示页面之前所处的页面,而不是默认行为将用户带回备注页面(因为它在技术上是用户所在的最后一页)。
所以,目前的行为:
项目列表页面 - >项目显示页面 - >点击“在项目上编辑备注” - >备注页面 - >点击“保存” - >项目显示页面 - >点击“返回” - >备注页。
我想用“后退”替换最后一步,将用户带到项目列表页面。
有这样的运气吗?感谢您提供的任何和所有指导
答案 0 :(得分:1)
您可以更改页面而不将其保留在浏览器历史记录中,如下所示:
$.mobile.changePage('#page', {reverse: false, changeHash: false});
这是基于这个答案:Jquery mobile, remove previous page
答案 1 :(得分:0)
我和你一样处于同一个问题,我创造了一种方法,唯一有效的方法。如果有人知道更好的事情,那将会非常有帮助!所以,让我解释一下如何解决(这有点复杂,但对我有用)。
您需要覆盖后退按钮以在您想要的html中按X页回滚历史记录,例如:
$(document).ready(function() {
$('[data-rel=back]').click(function() {
window.history.go(-4);
return false;
});
});
但是,4实际上是会话中的导航计数器变量。
如果你使用jsf,它将是这样的:
window.history.go(-#{mySessionManagedBean.navigationCounter});
此外,您需要初始化并增加每个页面的更改。
如果你使用jsf,它将是这样的:
<h:commandButton ...>
<f:setPropertyActionListener target="#{mySessionManagedBean.navigationCounter}" value="#{mySessionManagedBean.navigationCounter + 1}" />
</h:commandButton>