[1] [DFN[閲覧文脈]]は、そこに於いて [CODE(DOMi)@en[[[Document]]]] [[オブジェクト]]が[[利用者]]に[RUBYB[提示される]@en[presented]][RUBYB[[[環境]]]@en[environment]]です [SRC[WA1 >>3]]。 ;; [7] [[閲覧文脈]]とは要は[[Webブラウザー]]の[[タブ]]であったり [CODE(HTMLe)@en[[[iframe]]]] [[要素]]であったりと、[WEAK[([[文書]]の側からすると)]] [CODE(JS)@en[[[window]]]] [[オブジェクト]]によって表されるものなのですが、 実際にはこの周辺の仕組みは極めて複雑なためにまどろっこしい定義になっています。 * 仕様書 - [2] [[Web Applications 1.0]] ([[HTML5]]) -- [3] '''''' * 具体例 - [4] [[Webブラウザー]]の[[窓]]や[[タブ]]は通常[[閲覧文脈]]を1つ含んでいます。 - [5] [CODE(HTMLe)@en[[[iframe]]]] [[要素]]や [CODE(HTMLe)@en[[[frame]]]] [[要素]]は[[閲覧文脈]]を作ります。 - [6] [CODE(HTMLe)@en[[[object]]]] [[要素]]はその[RUBYB[[[表す]]]@en[represent]]内容によっては[[閲覧文脈]]を作ります。 * 文書との関係 [8] [[閲覧文脈]]は[[セッション履歴]]を1つ持ちます。[[セッション履歴]]は、 その[[閲覧文脈]]で過去、現在、未来に於いて[RUBYB[提示される]@en[presented]] [CODE(DOMi)@en[[[Document]]]] [[オブジェクト]]の[[リスト]]です。 [SRC[>>3]] [9] [[閲覧文脈]]はある一時には1つの [CODE(DOMi)@en[[[Document]]]] だけが[[活性文書]]として指示されています。 [SRC[>>3]] * 窓との関係 [10] [[閲覧文脈]]には、それに対応する [CODE(DOMi)@en[[[WindowProxy]]]] [[オブジェクト]]が1つあります。 [SRC[>>3]] [11] それに対して[[閲覧文脈]]で提示される [CODE(DOMi)@en[[[Document]]]] [[オブジェクト]]には、''それぞれ''対応する [CODE(DOMi)@en[[[Window]]]] [[オブジェクト]]が1つずつあります。[SRC[>>3]] [12] [CODE(DOMi)@en[[[WindowProxy]]]] はその名の通り「[RUBYB[[[串]]]@en[proxy]]」であり、 すべてをその[[閲覧文脈]]の[[活性文書]]の [CODE(DOMi)@en[[[Window]]]] [[オブジェクト]]に転送します。 [SRC[>>3]] [13] [CITE[''''''[''''''whatwg'''''']'''''' Should events be paused on detached iframes?]] ( ([TIME[2010-12-07 21:22:35 +09:00]] 版)) [14] [CITE@en-US[Window Object 1.0]] ( ([TIME[2006-04-08 02:19:28 +09:00]] 版))