1

私は jQuery Mobile のドキュメントを調べても役に立たなかったので、ここの誰かが私がこれまで解決できなかった問題を解決してくれることを願っています。

通常の方法で提供されるjqueryモバイルページがあります(「アイテム表示」と呼びます)。特定のアイテムに関する情報が含まれています。このページには、ユーザーが表示されたアイテムに関するメモ (基本的には大きなテキストエリア) を作成できるページに移動するボタンがあります。ノート ページで「保存」をクリックすると、POST が実行され、アイテム表示ページにリダイレクトされます。

私の問題は、メモが保存されたら、アイテム表示ページの「戻る」ボタンを使用して、ユーザーが最初にアイテム表示ページにアクセスする前のページにリンクするようにしたいことです。ユーザーを取得するデフォルトの動作ではありません。ノート ページに戻ります (技術的には、ユーザーが最後にアクセスしたページだったため)。

したがって、現在の動作:

アイテム一覧ページ→アイテム表示ページ→「アイテムのメモを編集」をクリック→メモページ→「保存」をクリック→アイテム表示ページ→「戻る」をクリック→メモページ。

最後のステップを「戻る」をクリックしてユーザーをアイテムリストページに移動することに置き換えたいと思います。

そのような幸運はありますか?あなたが提供できるすべてのガイダンスに感謝します

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 に答える