--- title: History.replaceState() slug: Web/API/History/replaceState tags: - API - HTML DOM - History - History API - Method - Reference translation_of: Web/API/History/replaceState ---
History.replaceState()
メソッドは、現在の履歴を編集し、メソッドに渡された stateObj
、title
、URL
パラメータによって置き換えます。このメソッドは、ユーザーのアクションに応じて現在の履歴エントリの state オブジェクトや URL を更新したい場合に特に便利です。
history.replaceState(stateObj, title, [url])
stateObj
title
url
{{optional_inline}}https://www.mozilla.org/foo.html が以下の JavaScript を実行したとします:
const stateObj = { foo: 'bar' };
history.pushState(stateObj, '', 'bar.html');
上記の 2行の説明は、「History API を取り扱う」の記事の「pushState()
の例」にあります。次に、https://www.mozilla.org/bar.html が以下の JavaScript を実行したとします:
history.replaceState(stateObj, '', 'bar2.html');
これにより、URL バーに https://www.mozilla.org/bar2.html が表示されるようになりますが、ブラウザーが bar2.html
を読み込んだり、bar2.html
が存在するかどうかを確認したりすることはありません。
ユーザーが https://www.microsoft.com に移動し、戻るボタンをクリックしたとします。この時点で、URL バーには https://www.mozilla.org/bar2.html が表示されます。ユーザーがもう一度「戻る」ボタンをクリックすると、URL バーには https://www.mozilla.org/foo.html が表示され、bar.html は完全にバイパスされます。
仕様書 | 策定状況 | コメント |
---|---|---|
{{SpecName("HTML WHATWG", "history.html#dom-history-replacestate", "History.replaceState()")}} | {{Spec2("HTML WHATWG")}} | No change from {{SpecName("HTML5 W3C")}}. |
{{SpecName("HTML5 W3C", "history.html#dom-history-replacestate", "History.replaceState()")}} | {{Spec2("HTML5 W3C")}} | 初期定義 |
{{Compat("api.History.replaceState")}}