HTML5 では、ブラウザの履歴を操作するための非常に優れたツール、つまり/メソッドとイベントが導入されたため、Web アプリケーションに意味のある URL を表示するために es に依存する必要がなくなりました。history.pushState
replaceState
onpopstate
location.hash
(または、IE < 10 の採用が無視できる場合、ハッシュに依存する必要はありません。)
history.pushState
ターゲット状態が を使用して作成された場合、ブラウザーの [戻る] ボタンと [進む] ボタンを使用しても、URL がまったく異なるように見えても、ページはリロードされません。
ただし、ハッシュの変更とは異なり、ユーザーがブラウザーのアドレス バーから URL を変更すると、ブラウザーはページをリロードします。どういうわけか、これに対する効果的な解決策があるとは思えませんが、問題は、ブラウザがページをリロードするのを防ぎ、代わりに履歴状態を強制的にプッシュする方法はありますか?