History インターフェースはブラウザのセッションヒストリー、つまり現在のページが読み込まれたタブまたはフレームで訪問されたページを操作できます。

プロパティ

History インターフェースは何のプロパティも継承していません。

History.length 読取専用
現在読み込まれているページを含むセッションヒストリーの要素数を表す整数値を返します。たとえば、新しいタブで読み込まれたページのこのプロパティは 1 を返します。
History.current 読取専用 Gecko 26 で廃止
セッションヒストリーでアクティブな項目の URL を表す DOMString を返します。このプロパティはウェブコンテンツでは決して使用できず、どのブラウザでもサポートされていません。Location.href を代わりに使用してください。
History.next 読取専用 Gecko 26 で廃止
セッションヒストリ-の次の項目の URL を表す DOMString を返します。このプロパティはウェブコンテンツでは決して使用できず、どのブラウザでもサポートされていません。
History.previous 読取専用 Gecko 26 で廃止
セッションヒストリ-の前の項目の URL を表す DOMString を返します。このプロパティはウェブコンテンツでは決して使用できず、どのブラウザでもサポートされていません。
History.scrollRestoration 
ウェブアプリケーションがヒストリーナビゲーションでデフォルトのスクロールリストア動作を明示的に設定できるようにします。このプロパティは automanual を指定できます。
History.state 読取専用
ヒストリスタックの最上位にある状態を表す任意の値を返します。これは popstate イベントを待たずに状態を確認する方法です。

メソッド

History インターフェースは何のメソッドも継承していません。

History.back()
ユーザーがブラウザーの戻るボタンをクリックしたときの動作と同様に、セッションヒストリーの前のページに移動します。history.go(-1) と同等です。
このメソッドを呼び出して、セッションヒストリーの最初のページを超えて戻っても何の効果もなく、例外が発生することもありません。
History.forward()
ユーザーがブラウザーの次へボタンをクリックしたときの動作と同様に、セッションヒストリーの次のページに移動します。これは history.go(1) と同等です。
このメソッドを呼び出して、セッションヒストリーの直近のページを超えて進んでも何の効果もなく、例外が発生することもありません。
History.go()
現在のページからの相対的な位置で識別してセッションヒストリーからページをロードします。たとえば、 -1 は前のページで 1 は次のページです。境界を超える値 (たとえば、セッションヒストリーに以前訪れたページがないときに -1 を指定する) を指定した場合、このメソッドは何の効果も示しません。引数なしや 0 で go() を呼び出した場合、現在のページを再読み込みします。Internet Explorer はヒストリーリストの特定のページに移動する 文字列を指定することもできます
History.pushState()
与えられたデータを指定されたタイトルと URL があればそれをセッションヒストリースタックに渡します。データは DOM によって不透明として扱われます。JavaScript オブジェクトを指定できます。現在 Firefox は title パラメーターを無視することに注意してください。詳細は ブラウザの履歴を操作する を見てください。
History.replaceState()
ヒストリースタックの直近のエントリーを指定した data、title、(あれば) URL で更新します。データは DOM によって不透明として扱われます。JavaScript オブジェクトを指定できます。現在 Firefox は title パラメーターを無視することに注意してください。詳細は ブラウザの履歴を操作する を見てください。

仕様

仕様 ステータス コメント
HTML Living Standard
History の定義
現行の標準 scrollRestoration 属性の追加。
HTML5
History の定義
勧告 初期定義。
Custom Scroll Restoration - History-based API
History の定義
ドラフト scrollRestoration 属性の追加。

ブラウザー実装状況

機能ChromeEdgeFirefoxInternet ExplorerOperaSafari
基本対応 あり あり あり あり あり あり
back あり ? あり ? ? ?
forward あり ? あり ? ? ?
go あり ? あり ? ? ?
length あり ? あり ? ? ?
pushState5 あり411011.55
replaceState5 あり411011.55
scrollRestoration46 なし46 なし33 あり
state あり ? あり ? ? ?
機能Android webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
基本対応 あり あり あり あり あり あり ?
back あり あり ? あり ? ? ?
forward あり あり ? あり ? ? ?
go あり あり ? あり ? ? ?
length あり あり ? あり ? ? ?
pushState あり あり あり あり あり4.3 ?
replaceState あり あり あり あり あり4.3 ?
scrollRestoration なし46 なし あり あり あり ?
state あり あり ? あり ? ? ?

1. In Firefox 2 through 5, the passed object is serialized using JSON. Starting in Firefox 6, the object is serialized using the structured clone algorithm. This allows a wider variety of objects to be safely passed.

関連項目

  • Window.history プロパティは現在のセッションのヒストリーを返します。

ドキュメントのタグと貢献者

このページの貢献者: YuichiNukiyama
最終更新者: YuichiNukiyama,