--- title: History slug: Web/API/History tags: - API - HTML DOM - History API - Interface - Web translation_of: Web/API/History --- <div>{{ APIRef("History API") }}</div> <p><strong><code>History</code></strong> インターフェイスで、ブラウザーの<em>セッション履歴</em>、つまり現在のページが読み込まれたタブまたはフレームで訪問したページを操作することができます。</p> <h2 id="Properties" name="Properties">プロパティ</h2> <p><em><code>History</code> インターフェイスは何もプロパティを継承していません。</em></p> <dl> <dt>{{domxref("History.length","length")}} {{readOnlyInline}}</dt> <dd>現在読み込まれているページを含むセッション履歴の要素数を表す <code>Integer</code> を返します。たとえば、新しいタブで読み込まれたページのこのプロパティは <code>1</code> を返します。</dd> <dt>{{domxref("History.scrollRestoration","scrollRestoration")}}</dt> <dd>ウェブアプリケーションが履歴の操作で既定のスクロール位置の復元を明示的に設定できるようにします。このプロパティは <code>auto</code> または <code>manual</code> を指定することができます。</dd> <dt>{{domxref("History.state","state")}} {{readOnlyInline}}</dt> <dd>履歴スタックの最上位にある状態を表す <code>any</code> の値を返します。これは {{event("popstate")}} イベントを待たずに状態を確認する方法です。</dd> </dl> <h2 id="Methods" name="Methods">メソッド</h2> <p><em><code>History</code> インターフェイスは何もメソッドを継承していません。</em></p> <dl> <dt>{{domxref("History.back","back()")}}</dt> <dd>これは非同期メソッドであり、ユーザーがブラウザーの<kbd>戻る</kbd>ボタンをクリックしたときと同じく、セッション履歴の一つ前のページへ移動します。 <code>history.go(-1)</code> と同等です。 <div class="note">このメソッドを呼び出して、セッション履歴の最初のページを超えて戻っても何の効果もなく、例外が発生することもありません。</div> </dd> <dt>{{domxref("History.forward","forward()")}}</dt> <dd>これは非同期メソッドであり、ユーザーがブラウザーの<kbd>次へ</kbd>ボタンをクリックしたときと同じく、セッション履歴の一つ次のページへ移動します。これは <code>history.go(1)</code> と同等です。 <div class="note">このメソッドを呼び出して、セッション履歴の直近のページを超えて進んでも何の効果もなく、例外が発生することもありません。</div> </dd> <dt>{{domxref("History.go","go()")}}</dt> <dd>セッション履歴上で、現在のページからの相対位置で識別されるページを非同期に読み出します。たとえば、 <code>-1</code> は前のページで <code>1</code> は次のページです。範囲外の値を指定した場合 (例えば、セッション履歴に以前訪問したページがないときに <code>-1</code> を指定した場合)、このメソッドは暗黙に何もしません。 <code>go()</code> を引数なし、または <code>0</code> の値で呼び出すと、現在のページを再読み込みします。 Internet Explorer では数値の代わりに文字列を指定することで、履歴リストの中の指定した URL へ移動することができます。</dd> <dt>{{domxref("History.pushState","pushState()")}}</dt> <dd>指定されたデータを指定されたタイトル (および、指定されていれば URL) でセッション履歴に追加します。このデータは DOM においては透過的でないものとして扱われます。シリアライズ可能な JavaScript を指定することができます。詳しくは、 <a href="/ja/docs/Web/API/History_API/Working_with_the_History_API">History API での作業</a>を参照してください。</dd> <dt>{{domxref("History.replaceState","replaceState()")}}</dt> <dd>履歴スタックの最新の項目が、指定したデータ、タイトル、指定されていれば URL になるよう更新します。データは DOM では透過的でないものとして扱われます。シリアライズ可能な JavaScript を指定することができます。なお、 Safari 以外のすべてのブラウザーが今のところ <em>title</em> 引数を無視することに注意してください。詳しくは、 <a href="/ja/docs/Web/API/History_API/Working_with_the_History_API">History API での作業</a>を参照してください。</dd> </dl> <h2 id="Specifications" name="Specifications">仕様書</h2> <table class="standard-table"> <thead> <tr> <th scope="col">仕様書</th> <th scope="col">状態</th> <th scope="col">備考</th> </tr> </thead> <tbody> <tr> <td>{{SpecName('HTML WHATWG', "browsers.html#the-history-interface", "History")}}</td> <td>{{Spec2('HTML WHATWG')}}</td> <td><code>scrollRestoration</code> 属性の追加。</td> </tr> <tr> <td>{{SpecName('HTML5 W3C', "browsers.html#the-history-interface", "History")}}</td> <td>{{Spec2('HTML5 W3C')}}</td> <td>初回定義</td> </tr> </tbody> </table> <h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> <p>{{Compat("api.History")}}</p> <h2 id="See_also" name="See_also">関連情報</h2> <ul> <li>{{domxref("Window.history")}} プロパティは現在のセッションのヒストリーを返します。</li> </ul>