この記事ではJavaScriptの『location.replace()メソッド』について、
location.replace()
メソッドとはlocation.replace()
メソッドの構文location.replace()
メソッドの使い方location.replace()
とlocation.assign()
とlocation.hrefの
違い
などをサンプルコードを用いて分かりやすく説明するように心掛けています。ご参考になれば幸いです。
location.replace()メソッドとは
location.replace()メソッドは、現在のURLを新しいURLに置換するメソッドです。
location.replace()
メソッドが呼び出されると、現在のURLが新しいURLで置換され、新しいURLのページに画面遷移します。その際、新しいURLはブラウザの閲覧履歴に追加されません。そのため、ブラウザの「戻る」ボタンを使用しても、前のページに戻ることができなくなります。
例えば、http://page-A.com
からhttp://page-B.com
に遷移し、その後location.replace()
メソッドを使用してhttp://page-C.com
に遷移した場合、ブラウザの「戻る」ボタンを押しても前のページ(http://page-B.com
)には戻らず、http://page-A.com
に戻ることになります。
location.replace()
メソッドの構文を以下に示します。
location.replace()メソッドの構文
location.replace(url);
// 以下に示すようにwindowオブジェクトを前につけてもOK
window.location.replace(url);
- 引数
url
- 新しく置換したいURLを文字列で指定します。絶対パスや相対パスで指定します。
- 返り値
- なし(
undefined
)
- なし(
location.replace()メソッドの使い方
以下のURLのWebページを表示している状態にします。
この状態において、location.replace()
メソッドでURLで変更しましょう。以下のサンプルコードをGoogle Chromeのデベロッパーツールで実行してください。
// 指定したURLを置換して画面遷移させる
location.replace('https://it-infomation.com');
上記のサンプルコードを実行すると、https://www.google.co.jp
からhttps://it-infomation.com
にURLが置換され、https://it-infomation.com
のページに画面遷移します。
location.replace()
メソッドによって画面遷移した場合には、閲覧履歴にhttps://it-infomation.com
が追加されないので、ブラウザの「戻る」ボタンを押しても、前のページ(https://www.google.co.jp
)に戻ることができません。https://www.google.co.jp
の直前に閲覧していたページに戻ります。
location.replace()とlocation.assign()とlocation.hrefの違い
location.replace()
とlocation.assign()
とlocation.href
の違いを説明します。これらの違いは閲覧履歴に新しいURLを追加するか否かです。
location.replace()
メソッドは新しいURLを閲覧履歴に追加しないので、ブラウザの「戻る」ボタンを押しても前のページに戻ることができなくなります。
一方、location.assign()
メソッドとlocation.href
プロパティは新しいURLを閲覧履歴に追加するので、ブラウザの「戻る」ボタンを押したら前のページに戻ります。
// 指定したURLに画面遷移(閲覧履歴に追加しない)
location.replace('https://it-infomation.com');
// 指定したURLに画面遷移(閲覧履歴に追加する)
location.assign('https://it-infomation.com'); // location.assign()を使用した場合
location.href = 'https://it-infomation.com'; // location.hrefを使用した場合
本記事のまとめ
この記事ではJavaScriptの『location.replace()メソッド』について、以下の内容を説明しました。
location.replace()
メソッドとはlocation.replace()
メソッドの構文location.replace()
メソッドの使い方location.replace()
とlocation.assign()
とlocation.hrefの
違い
お読み頂きありがとうございました。