1. 7.9 ウェブを閲覧する
      1. 7.9.1 履歴走査
        1. 7.9.1.1 PopStateEventインターフェイス
        2. 7.9.1.2 HashChangeEventインターフェイス
        3. 7.9.1.3 PageTransitionEventインターフェイス
      2. 7.9.2 文書の解放
        1. 7.9.2.1 BeforeUnloadEventインターフェイス
      3. 7.9.3 `X-Frame-Options`ヘッダー
      4. 7.9.4 The `Refresh` header

7.9 ウェブを閲覧する

7.9.1 履歴走査

7.9.1.1 PopStateEventインターフェイス

PopStateEvent

Support in all current engines.

Firefox4+Safari6+Chrome4+
Opera12.1+Edge79+
Edge (Legacy)12+Internet Explorer10+
Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+
event.state

pushState()またはreplaceState()へ提供される情報のコピーを返す。

7.9.1.2 HashChangeEventインターフェイス

HashChangeEvent

Support in all current engines.

Firefox3.6+Safari5+Chrome8+
Opera10.6+Edge79+
Edge (Legacy)12+Internet Explorer8+
Firefox Android?Safari iOS5+Chrome Android?WebView Android?Samsung Internet?Opera Android11+
event.oldURL

以前に現在であったセッション履歴のエントリーURLを返す。

event.newURL

今現在であるセッション履歴のエントリーURLを返す。

7.9.1.3 PageTransitionEventインターフェイス

PageTransitionEvent

Support in all current engines.

Firefox1.5+Safari5+Chrome4+
Opera?Edge79+
Edge (Legacy)12+Internet Explorer11
Firefox Android?Safari iOS4+Chrome Android?WebView Android37+Samsung Internet?Opera Android?
event.persisted

pageshowに対して、ページが新しく読み込まれている(およびloadイベントが発生する)場合にfalseを返す。そうでなければ、trueを返す。

pagehideイベントに対して、ページが最後の時間まで出かける場合はfalseを返す。そうでなければtrueを返す。これは、ユーザーがこのページに戻った場合(Documentsalvageable状態がtrueのままの場合)にページが再利用される可能性があることを意味する。

ページがサルベージ不能になる原因には、次のものがある:

7.9.2 文書の解放

7.9.2.1 BeforeUnloadEventインターフェイス

BeforeUnloadEvent

Support in all current engines.

Firefox1.5+Safari7+Chrome30+
Opera?Edge79+
Edge (Legacy)12+Internet Explorer4+
Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet3.0+Opera Android?

BeforeUnloadEvent固有の初期化メソッドは存在しない。

BeforeUnloadEventインターフェイスは、イベントをキャンセルするだけでなく、returnValue属性を空文字列以外の値に設定することで、アンロードのプロンプトを制御できるようにするレガシーインターフェイスである。 著者は、returnValueを使用する代わりに、preventDefault()メソッド、またはイベントをキャンセルするその他の手段を使用すべきである。

7.9.3 `X-Frame-Options`ヘッダー

`X-Frame-Options` HTTP レスポンスヘッダーは、子ブラウジングコンテキスト内でDocumentをロードしてもよいかどうか、およびどのようにロードするかを制御するためのレガシーな方法である。それは同じ状況をより細かく制御できるframe-ancestors CSPディレクティブによって廃止された。 もともとはHTTPヘッダーフィールドX-Frame-Optionsで定義されていたが、ここでの定義はその文書に取って代わる。[CSP] [RFC7034]

特に、HTTPヘッダーフィールドX-Frame-Optionsはヘッダーの`ALLOW-FROM`バリアントを指定したが、これは実装されない。

CSP frame-ancestorsディレクティブと`X-Frame-Options`ヘッダーの両方が同じレスポンスで使用される場合、`X-Frame-Options`は無視される。

ウェブ開発者および適合性チェッカーにとって、その値のABNFは次のとおりである:

X-Frame-Options = "DENY" / "SAMEORIGIN"

次の表は、不適合の値を含む、ヘッダーのさまざまな値の処理を示す:

`X-Frame-Options`妥当結果
`DENY`埋め込みを禁止
`SAMEORIGIN`同一生成元の埋め込みを許可
`INVALID`埋め込みを許可
`ALLOWALL`埋め込みを許可
`ALLOW-FROM=https://example.com/`埋め込みを許可(どこからでも)

次の表は、複数の値が関係するさまざまな不適合のケースがどのように処理されるかを示す:

`X-Frame-Options`結果
`SAMEORIGIN, SAMEORIGIN`同一生成元の埋め込みを許可
`SAMEORIGIN, DENY`埋め込みを禁止
`SAMEORIGIN,`埋め込みを禁止
`SAMEORIGIN, ALLOWALL`埋め込みを禁止
`SAMEORIGIN, INVALID`埋め込みを禁止
`ALLOWALL, INVALID`埋め込みを禁止
`ALLOWALL,`埋め込みを禁止
`INVALID, INVALID`埋め込みを許可

値がカンマ区切りの単一ヘッダーで配信されるか、複数のヘッダーで配信されるかにかかわらず、同じ結果が得られる。

7.9.4 `Refresh`ヘッダー

`Refresh`レスポンスヘッダーは、Refresh状態のhttp-equiv属性を持つmeta要素と同等のHTTPである。それは同じ値を取り、ほぼ同じように機能する。その処理モデルについては、Documentオブジェクトの作成と初期化で詳しく説明している。