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