2012-01-01 13 views
2

私のアプリでバックボタンの問題を解決しようとしています。シナリオは:バックボタンをクリックしてAjaxの結果、アドバイスを要求します

$ .ajax()でデータを送受信する検索フォームのホームページがあり、その結果がajaxによってロードされ、そのリンクはGETで実行されないコントローラを指していますajaxではページが更新されることを意味します(したがって、結果のホームページはhttp://url/en/homeとなり、結果リンクはhttp://url/fetch/data/x123avのようになります)。

問題は、検索ボックスから結果を返すために戻るボタンをクリックしたときにそれを解決する最良の方法ですか?

私は私の質問に関連したstackoverflowの中でいくつかの答えを発見した: http://code.google.com/p/reallysimplehistory http://tkyk.github.com/jquery-history-plugin

しかし、これらのプラグインのドキュメントから、彼らはすべての作業により、私が持っていないハッシュ変更をチェックします。

希望、私は十分に説明してきた、と私はstackoverflowのを検索し、解決のためにグーグルが、私はこれに近いかのどちらか、私はそれを飛び越えてきたものを見つけられませんでしたていない...

してくださいD

答えて

1

しかし、これらのプラグインのドキュメントからは、私が持っていないハッシュ変更を にチェックすることですべて動作します。

AJAXリクエストを使用して戻るボタンを処理する場合は、唯一の方法でハッシュを使用できるようにアプリケーションを再設計する必要があります。 URLの断片部分を変更しても、ページの再読み込みは行われませんが、履歴に追加されるため、戻るボタンを押すとページから移動せずにこの変更を検出できます。

別の可能性は、コメント欄にSLaksで述べたようにHTML5 history APIを使用することですが、明らかにこれは、クライアントのブラウザがそれをサポートしていることを前提としています。

+0

また、HTML5履歴APIを使用してください。 – SLaks

+0

@SLaks、非常に良い点。私はこの貴重な情報を含むように私の答えを更新します。 –

+0

okだから、ハッシュを使わずにHTML5履歴APIを使うなら、ブラウザの「戻る」ボタンをクリックしたときに見られたことを示す方法はありません! 上記の質問に説明されているリンクがあることを覚えていますが、どうすればよいですか? – Alex

関連する問題