Location.replace() - 現在のURLを置換する

投稿日: / 更新日:

JavaScriptの、Locationオブジェクトのreplace()はURLを置換するメソッドです。

説明

Locationオブジェクトのreplace()は、現在のURLを、新しいURLに置換するメソッドです。URLを置換するというのは、具体的には閲覧履歴を追加しないで表示を新しいページに変更するということです。

https://syncer.jp/1.html

例えば上記URLのドキュメントを表示しているとします。window.location.hrefでURLを変更したとします。

// URLを変更
window.location.href = "./2.html" ;

すると、2.htmlに移動した後に、ブラウザのヒストリーバック(戻る)を実行すると、1.htmlのページに戻ります。これは、window.location.hrefによって、閲覧履歴に2.htmlが追加されたからです。次に、replace()で置換をした場合です。

// URLを置換
window.location.replace( "./2.html" ) ;

この場合、2.htmlに移動した後、ブラウザのヒストリーバック(戻る)を実行しても、1.htmlのページには戻りません。そうではなく、1.htmlの直前に閲覧していたページに戻ります。これは、replace()によって、閲覧履歴に2.htmlが追加されず、閲覧履歴の1.html2.htmlに置き換わったためです。これが、replace()による置換です。

サンプルコード

// URLを置換
window.location.replace( "./2.html" ) ;

デモ

window.location.replace()で現在のURLを新しいURLに置換します。ヒストリーバック(戻る)の挙動を確認したい場合は、お手数ですが、新しくウィンドウを開いてお試し下さい。

構文

window.location.replace( string newUrl )

引数

項目説明
newUrl新しく置換したいURL。絶対パス、相対パス、サーバー相対パスなどで指定。

返り値

返り値はありません。

関連項目

  • Location - ブラウザロケーションのオブジェクト。
  • Location.assign() - コンテンツをロードして表示する。
  • Location.reload() - ドキュメントをリロードする。
  • Location.replace() - 現在のURLを置換する。

外部リンク