HTML5 履歴 API を機能させようとしてきましたが、かなり簡単に思えますが、ブラウザーの進むボタンで機能させることができません。
基本的な概念は単純に思えます: 新しい「ページ」に移動するとき (AJAX、JavaScript などを介して)、pushState を使用して保存し、最初のパラメーターで渡されたオブジェクトの状態フィールドに、その状態を再作成するために使用する情報を保存します。 . 次に popState にリスナーを配置すると、情報を取得して状態を再作成できます。
したがって、内部ボタンを介してアプリ内を進むとき
history.pushState({ myTag: true, div:theDiv }, null, event.target.href);
内部ボタンを使用してアプリ内で後方に移動したとき
event.preventDefault();
history.back(1);
そして popState リスナーは
if (!e.originalEvent.state || !e.originalEvent.state.myTag) return;
var theDiv = $('#' + e.originalEvent.state.div);
popState リスナーは、内部またはブラウザーの [戻る] ボタンを介して後方に移動するときに正常に機能します。しかし、ブラウザの進むボタンで先に進むと、e.originalEvent.state に NULL が返されます。何が欠けているのか、および/または基本的な概念フレームワークについて説明してもらえますか? とても有難い!