戻ると、ページの元のHTMLがキャッシュから読み込まれます。 Javascriptで追加したものはすべて保存されないため、ページの読み込み時にその変更を復元する必要があります。
このため、popstate
イベントを使用できます。それが解雇された場合でも、情報を復元する必要があります。 AJAXリクエストを再実行して結果を処理することで、これを行うことができます。したがって、同じ要求を再度実行できるように、十分な情報をURL(またはハッシュ)に保存する必要があります。
これは、以前のリクエストが必要な場合もあることを意味します。たとえば、リストの項目Xを取得するためにajaxリクエストを実行すると、Xがリクエスト後に毎回インクリメントするため(各クリックで次の項目を取得できるように)、すべての項目を再度ロードする必要があります。そうしないと、キャッシュされたページの元のアイテムとAJAXされた最新のアイテムのみが取得されますが、その間のアイテムは失われます。
ただし、pushState
またはreplaceState
を使用して状態を保存する場合は、追加のデータを保存することもできます。これを使用してJSON結果を状態とともに保存することができますので、追加のリクエストは必要ありません。とにかく、これは最適化であり、厳密には必要ではないので、AJAXリクエストの実装をpopstate
で開始する必要があります。とにかく、データは必ずしも状態とともに格納されるとは限りませんので、常にAJAXリクエストがフォールバックとして必要になります。
正確に何を試してみたか(コードスニペット以上、実例があります)、そしてそれが失敗した正確な方法について詳しく説明してください。それ以外の場合は、あなたに有用な答えを与えることは難しいです。 – Nickolay