History.state

History.state プロパティは、履歴スタックの一番上の状態を表す値を返します。これは popstate イベントを待つことなく、状態を見ることができる方法です。

構文

js

const currentState = history.state

履歴スタックの一番上の状態です。この値は pushState() または replaceState() メソッドが使用されていない限り null です。

以下のコードでは、 history.state の値を pushState() メソッドを使用して値を履歴にプッシュする前に、ログに記録しています。 次の行では、再びコンソールに値が記録され、 history.state に値があることが分かります。

js

// まだ履歴スタックを変更していないため、 null になります
console.log(`History.state before pushState: ${history.state}`);

// スタックに何かプッシュします
history.pushState({name: 'Example'}, "pushState example", 'page3.html');

// 状態は値になりました。
console.log('History.state after pushState: ', history.state);

仕様書

Specification
HTML Standard
# dom-history-state-dev

ブラウザーの互換性

BCD tables only load in the browser

関連情報