1

我浏览了 jQuery Mobile 文档无济于事,所以希望这里有人已经解决了我到目前为止还没有找到方法的问题。

我有一个 jquery 移动页面,以通常的方式提供(称之为“项目显示”)。它包含有关特定项目的信息。此页面上有一个按钮,可将用户带到一个页面,他/她可以在其中记录所显示项目的注释(本质上是一个大文本区域)。单击注释页面上的“保存”会发布并重定向回项目显示页面。

我的问题是,一旦保存了笔记,我希望项目显示页面上的“返回”按钮链接回用户在首次访问项目显示页面之前所在的页面,而不是默认的用户行为返回注释页面(因为从技术上讲,它是用户所在的最后一页)。

所以,目前的行为:

项目列表页面 -> 项目显示页面 -> 点击“编辑项目备注” -> 备注页面 -> 点击“保存” -> 项目显示页面 -> 点击“返回” -> 备注页面。

我想通过单击“返回”来替换最后一步,以将用户带到项目列表页面。

有这样的运气吗?感谢您提供的任何和所有指导

4

2 回答 2

1

您可以更改页面而不将它们保留在浏览器历史记录中,如下所示:

$.mobile.changePage('#page', {reverse: false, changeHash: false});

这是基于这个答案:Jquery mobile, remove previous page

于 2014-09-03T10:03:45.190 回答
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>
于 2012-11-06T14:19:58.913 回答