現在の履歴(ヒストリー)を置換
現在の履歴(ヒストリー)を置換するには、history.replaceState
メソッドを使用します。
- ※ IE9以下は対応していません。
構文
history.replaceState(state, title[, url]);
引数名 | 型 | 説明 | |
---|---|---|---|
第一引数 必須 |
state | string | 履歴に関連付する任意のオブジェクトの指定 popstateイベントハンドラーから参照するために使用 |
第二引数 必須 |
title | string | ページのタイトル |
第三引数 | url | string | 置換後のURL(省略した場合は現在のページのURL) |
サンプルコード
JavaScript
if (window.history && window.history.replaceState) {
var addBtnElem = document.getElementById('add');
addBtnElem.addEventListener('click', function(e) {
history.replaceState(null, 'テストページ', '/sample/history.html');
// stateオブジェクトを設定する場合
// history.replaceState({ foo : 'bar' }, 'テストページ', '/sample/history.html');
}, false);
window.addEventListener('popstate', function(e) {
console.log(e.state);
}, false);
}