2016-07-05 13 views
-3

私はすでにAjax, back button and DOM updatesのような質問を見てきましたが、これまでのところ私が試したことはそれらの答えに触発されています。戻る/進むボタンを押したときにDOMを変更し続ける

  • ページAは、私が上の要素を更新するために使用するAJAX呼び出しを実行します。しかし、それらのどれも実際に彼らの提案

    を適用する際にこれが今何が起こっているかである私が直面していますこの問題を記載されていませんDOM「は、例えば選ばれた数量は、」

  • ユーザーはページBに行くと同じ
  • ユーザーが
  • ページAの負荷戻るボタンをクリックしたが、私はDOMに行ったすべての変更が失われない
  • ユーザーは、前方ボタンを
  • ページBのショーをクリックし、すべての変更は、私がこれまで試したどのようなだけでなく

を失っている: - jQueryの準備方法についての数量をリロードします。これは動作します...ユーザーは数秒間古い量を見ることができます。それはそれぞれのAJAX呼び出しの後、サーバー

  • Updateにwindow.location.hash値を送信されたコールの量を複製しかし、それは大きな欠点があります。 I.E

    window.location.hash = new Date()。getTime();

また、これは動作しますが、問題は、私は最初のクリックは、現在のページを再読み込みしますので、二回の代わりに[戻る]ボタンをクリックしなければならないことです。

これを修正する方法はありますか?私が最後にしたいのは、自分の数量を更新するためにサーバーへの余分な呼び出しを避けるために、DOM状態を保存することです。

おかげ

答えて

1

あなたが本当に変更ページしている場合は、サーバから取得したときにそれがあったとして、イエスは、キャッシュから作業していても、ブラウザは後で変更するとき、それはなかったとして、ページが表示されます。

PageA/PageB構造を現在のSPAアプローチに置き換えるのではなく、sessionStorageにajax結果を格納して、ページのロード時にそれを確認することができます。そこにあれば、それを再適用してください。もしそうでなければ、ajax経由でリクエストして適用する(そして保存する)。それは、ネットワークを介して再要求するよりはるかに高速です。

+0

こんにちは、どのようにこれを行うことができますか?ありがとう – Nmaster88

関連する問題