* 仕様書

[REFS[
- [1] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2015-04-25 04:40:19 +09:00]] 版) <https://html.spec.whatwg.org/#joint-session-history>
- [6] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2015-04-25 04:40:19 +09:00]] 版) <https://html.spec.whatwg.org/#dom-history-length>
]REFS]

* 定義

[3] [DFN[[RUBYB[[[結合セッション履歴]]]@en[joint session history]]]]は、
同じ[[最上位閲覧文脈]]を共有する[[完全に活性]]な [CODE(DOMi)@en[[[Document]]]]
オブジェクトすべての[[閲覧文脈]]の[[セッション履歴]]すべての[[論理和]]です [SRC[>>1]]。

[4] ただし各[[セッション履歴]]の[[現在エントリー]]は、
[[結合セッション履歴の現在エントリー]]以外、含めません [SRC[>>1]]。

[5] [[結合セッション履歴]]中の[[エントリー]]は、[[セッション履歴]]に追加されたのが古い順に[[整列]]されており、その[RUBYB[索引]@en[index]]は 0 から始まります [SRC[>>1]]。

* 文脈

[2] [[最上位閲覧文脈]]は、[[結合セッション履歴]]を持ちます [SRC[>>1]]。

* [CODE(JS)@en[history.length]] (DOM)

[7] [CODE(DOMi)@en[[[History]]]] [[オブジェクト]]の
[DFN[[CODE(DOMa)@en[[[length]]]]]] [[IDL属性]]は、
次のようにしなければ[['''なりません''']] [SRC[>>6]]。
[FIG(steps)[
= [8] [[文脈オブジェクト]]の関連付けられた[[文書]]が[[完全に活性]]でなければ、
[CODE(DOMe)@en[[[SecurityError]]]] [[例外]]を投げます。
= [9] そうでなければ、[[文脈オブジェクト]]の関連付けられた[[文書]]の[[閲覧文脈]]の[[最上位閲覧文脈]]の[[結合セッション履歴]]の[[エントリー]]の数を返します。
]FIG]

[10] この [[IDL属性]]の[[型]]は、 [CODE(IDL)@en[[[unsigned long]]]] です [SRC[>>6]]。

[11] [[Chrome]] では、 [CODE(JS)[[[window.open]] ("").history.length]] は 0 
になります。[[初期[CODE(URI)@en[about:blank]]文書]]の[[セッション履歴エントリー]]は数に入っていないようです。 [TIME[2015-07-19T02:14:51.800Z]]

* 関連

[15] [CODE[history.index]] は、[[結合セッション履歴]]における[[現在エントリー]]の位置を返すものです。

* 歴史

** [CODE(JS)@en[history.length]]

[13] [CODE(JS)@en[[[history.length]]]] は [[JavaScript 1.0]] で追加されました。

[12] [CITE@en[Make history.length an unsigned long · whatwg/html@3eeefbe]]
([TIME[2015-08-28 20:10:41 +09:00]] 版)
<https://github.com/whatwg/html/commit/3eeefbe8e61e0d2365948051264b8e87f794c579>

** 文書族

[14] [CITE@en[Web Applications 1.0 r7109     Make things like history.back() and user back/forward get thoroughly aborted by other navigations, but scope it just to the current top-level browsing context, not all of them.]]
( ([TIME[2012-05-31 07:55:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=7108&to=7109>


