現在の履歴(ヒストリー)を置換

現在の履歴(ヒストリー)を置換するには、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);
}

JavaScript逆引きリファレンス一覧へ戻る