HTML5 History API を使用して単一ページの JavaScript アプリケーションを作成しています。アプリケーションは Ajax を介してコンテンツをロードし、スクリーン スタックを使用してフォアグラウンド スクリーンの状態情報を内部的に維持します。
戻るボタンでナビゲーションを有効にしたいのですが、進むボタンを有効にしたくありません。
いくつかの簡単な情報:
- ユーザーは戻ることしかできず、進むことはできません
- ブラウザの戻るボタンを押すと、ユーザーが表示している現在のページ画面が閉じられ、前のページがリロードされます
- プロジェクトは最新バージョンの Chrome のみを対象としているため、他のブラウザーの実装は重要ではありません
- ネイティブの JavaScript と jQuery のみを使用しています。History.js を使用せずにこれを実行したいと考えています。
新しい画面をロードすると、次の行を実行します。
history.pushState(screenData, window.document.title, "#");
jQuery 経由で popstate イベントにバインドします。
$(window).bind("popstate", function(event) {
if (event.originalEvent.state != null) {
// Logic that loads the previous screen using my screen stack
}
});
アプリケーションの履歴管理は機能していますが、戻ると [進む] ボタンが有効になっています。イベントからデータhistory
を削除する方法を理解する必要があります。popstate
これをreplaceStateで行うことはできますか? これを行う方法がわかりません...