JavaScript

History

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

プロパティ

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

length【読取専用】
現在読み込まれているページを含むセッション履歴の要素数を表す Integerを返します。たとえば、新しいタブで読み込まれたページのこのプロパティは 1 を返します。
scrollRestoration
ウェブアプリケーションが履歴の操作で既定のスクロール位置の復元を明示的に設定できるようにします。このプロパティは auto または manual を指定することができます。
state【読取専用】
履歴スタックの最上位にある状態を表す any の値を返します。これは popstateイベントを待たずに状態を確認する方法です。

メソッド

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

back()
これは非同期メソッドであり、ユーザーがブラウザーの「戻る」ボタンをクリックしたときと同じく、セッション履歴の一つ前のページへ移動します。history.go(-1) と同等です。
このメソッドを呼び出して、セッション履歴の最初のページを超えて戻っても何の効果もなく、例外が発生することもありません。
forward()
これは非同期メソッドであり、ユーザーがブラウザーの次へボタンをクリックしたときと同じく、セッション履歴の一つ次のページへ移動します。これは history.go(1) と同等です。
このメソッドを呼び出して、セッション履歴の直近のページを超えて進んでも何の効果もなく、例外が発生することもありません。
go()
セッション履歴上で、現在のページからの相対位置で識別されるページを非同期に読み出します。たとえば、-1 は前のページで 1 は次のページです。範囲外の値を指定した場合(例えば、セッション履歴に以前訪問したページがないときに -1 を指定した場合)、このメソッドは暗黙に何もしません。go() を引数なし、または 0 の値で呼び出すと、現在のページを再読み込みします。Internet Explorerでは数値の代わりに文字列を指定することで、履歴リストの中の指定した URL へ移動することができます。
pushState()
指定されたデータを指定されたタイトル(および、指定されていれば URL)でセッション履歴に追加します。このデータは DOMにおいては透過的でないものとして扱われます。シリアライズ可能な JavaScriptを指定することができます。
replaceState()
履歴スタックの最新の項目が、指定したデータ、タイトル、指定されていれば URLになるよう更新します。データは DOMでは透過的でないものとして扱われます。シリアライズ可能な JavaScriptを指定することができます。なお、Safari以外のすべてのブラウザーが今のところ title引数を無視することに注意してください。