1

HTML5 では、ブラウザの履歴を操作するための非常に優れたツール、つまり/メソッドとイベントが導入されたため、Web アプリケーションに意味のある URL を表示するために es に依存する必要がなくなりました。history.pushStatereplaceStateonpopstatelocation.hash

(または、IE < 10 の採用が無視できる場合、ハッシュに依存する必要はありません。)

history.pushStateターゲット状態が を使用して作成された場合、ブラウザーの [戻る] ボタンと [進む] ボタンを使用しても、URL がまったく異なるように見えても、ページはリロードされません。

ただし、ハッシュの変更とは異なり、ユーザーがブラウザーのアドレス バーから URL を変更すると、ブラウザーページをリロードします。どういうわけか、これに対する効果的な解決策があるとは思えませんが、問題は、ブラウザがページをリロードするのを防ぎ、代わりに履歴状態を強制的にプッシュする方法はありますか?

4

2 に答える 2

1

私はそうは思いません。私の知る限り、リンク、戻る/進むボタン、プッシュステート/ポップステート、フォーム送信のクリックとは異なり、アドレスバーに手動でアドレスを入力することは、ハッシュを変更しない限り、新しいページをリクエストすることとして定義されます(html5以前の時代のように) )。

于 2013-08-06T13:23:37.940 に答える