ページ全体を更新せずに、URL を変更したり、「戻るボタン」に履歴を追加したりする方法はありますか?
私のアプリケーションは AJAX ベースで、履歴に「元に戻す」イベントを追加して、ユーザーが簡単に元に戻して古い値を保持できるようにしたいと考えています。
今日何が可能ですか?これの一部は HTML5 にあると聞いていますが、現在のブラウザーでサポートされているものを確認していません。
ページ全体を更新せずに、URL を変更したり、「戻るボタン」に履歴を追加したりする方法はありますか?
私のアプリケーションは AJAX ベースで、履歴に「元に戻す」イベントを追加して、ユーザーが簡単に元に戻して古い値を保持できるようにしたいと考えています。
今日何が可能ですか?これの一部は HTML5 にあると聞いていますが、現在のブラウザーでサポートされているものを確認していません。
ページの 、あなたの場合、 などをwindow.location.hash
追跡するために使用できると思います。#part
#state1
#state2
window.location.hash = '#state' + (++ stateN)
設定して
stateN = parseInt(window.location.hash.match(/\d+$/)[0])
On - window.location.hash - 変更?を参照してください。ロケーション ハッシュの変更を検出する方法の詳細については、
301 リダイレクトを使用できます。個人的には、パンくずリストを保存するために、クライアント側で Cookie を使用するか、バックエンドでセッションを使用します。URL に状態情報を格納することは、AJAX アプリケーションにとっては悪い考えです。サーバー側が応答するのに適切な状態にない URL に人々が戻る可能性があるからです。
もう 1 つのオプションは、戻るページを認識している独自の [戻る] ボタンを提供することです。
この質問に対する答えは、これらの質問に対する私の答えとほぼ同じです。
要約すると、hashchange プロセス全体とそれを ajax で使用する方法を説明する、おそらく見たいと思う 2 つのプロジェクトは次のとおりです。
jQuery History (ハッシュを使用してページの状態を管理し、変更にバインドしてページを更新します)。
jQuery Ajaxy (jQuery History の ajax 拡張機能であり、完全な ajax Web サイトを可能にする一方で、完全に目立たず、適切に分解可能です)。
ASP.NET のビルトイン スクリプト マネージャーを使用して、ブラウザーの履歴を更新することができます。これを行うための完全なハウツーは、次の場所にあります。
http://www.asp.net/aspnet-in-net-35-sp1/videos/introduction-to-aspnet-ajax-history