JavaScriptを使用して新しいページをロードせずにブラウザのURLを変更する 質問する

JavaScriptを使用して新しいページをロードせずにブラウザのURLを変更する 質問する

どうすればJavaScript現在のページに何らかの影響を与える可能性があるアクションですが、ブラウザの URL も変更されるため、ユーザーがリロードまたはブックマークを押すと、新しい URL が使用されます。

戻るボタンで元の URL が再読み込みされるのも良いでしょう。

URL に JavaScript の状態を記録しようとしています。

ベストアンサー1

history.pushStateサポートされていないブラウザでも動作させたい場合history.popState、「古い」方法はフラグメント識別子を設定することです。この方法ではページの再読み込みは発生しません。

window.location.hash基本的な考え方は、必要な状態情報を含む値をプロパティに設定し、window.onhashchange イベント、またはサポートされていない古いブラウザonhashchange(IE < 8、Firefox < 3.6)の場合は、ハッシュが変更されたかどうかを定期的に確認し(setIntervalたとえばを使用して)、ページを更新します。また、初期コンテンツをセットアップするには、ページの読み込み時にハッシュ値を確認する必要もあります。

jQueryを使用している場合は、ハッシュ変更プラグインブラウザがサポートするメソッドを使用します。他のライブラリ用のプラグインもあると思います。

注意すべき点の 1 つは、ページ上の ID との衝突です。ブラウザは一致する ID を持つ要素までスクロールするためです。

おすすめ記事