[1] [CODE(DOMi)@en[Document]] [[オブジェクト]]の
[DFN[[CODE(DOMa)@en[defaultView]]]] [[IDL属性]]は、
当該[[文書]]の表示されている[[窓]]を返します。

* 仕様書

[REFS[
- [5] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2015-05-06 10:42:35 +09:00]] 版) <https://html.spec.whatwg.org/#dom-document-defaultview>
]REFS]

* 取得器

[7] [CODE(DOMi)@en[Document]] [[インターフェイス]]の
[DFN[[CODE(DOMa)@en[defaultView]]]] [[IDL属性]]の[[取得器]]は、
次のようにしなければ[MUST[なりません]] [SRC[>>5]]。
[FIG(steps)[
= [8] [[文脈オブジェクト]]の[F[閲覧文脈]]があれば、
== [9] [[文脈オブジェクト]]の[F[閲覧文脈]]の
[F[[CODE(DOMi)@en[WindowProxy]]]] を返します。
= [10] それ以外なら、
== [11] [[null]] を返します。
]FIG]

* 歴史

[6] [[DOM2 View]] の一部として追加されました。 [[DOM2 View]] は後に[[廃止]]され、
[[HTML5]] (現 [[HTML Standard]]) に統合されました。

;; [CODE(DOMi)@en[[[Window]]]] の歴史の項を参照。

[2] この属性が実装されているかどうかは、 
[CODE[[VAR(DOMi)[[[DOMImplementation]]]].[CODE(DOMm)[[[hasFeature]]]] ([CODE(DOM)[View]], [CODE(DOM)[2.0]])]]
で確認できるとされていました。

- [DOM2] ''Document Object Model Views'' <http://www.w3.org/TR/DOM-Level-2-Views/views.html#Views-DocumentView-defaultView>

[12] 00年代初期の構想では、1つの[[文書]]が複数の「view」
を通して[[レンダリング]]されるとされていました。この「view」
は、 [[CSS]] の[[媒体型]]に相当するようなものです。
[[Webブラウザー]]で現に実装されているものはその一種「画面表示」で、
将来の高度な実装は他の「view」も提供するであろうが、
取り急ぎ「既定の表示」にアクセスする手段を提供しようと追加されたのがこの
[CODE(DOMa)@en[defaultView]] [[属性]]でした。

[3]
普通に表示中の [CODE(DOMi)@en[[[Document]]]]
の [CODE(DOMa)@en[[[defaultView]]]] は、
[[Firefox]] 2、[[Opera]] 9 共に [CODE(DOMi)@en[[[Window]]]]
を返します。
[CODE(DOMm)@en[[[createDocument]]]] や
[CODE(DOMi)@en[[[XMLHttpRequest]]]] で作った表示されていない
[CODE(DOMi)@en[[[Document]]]] の
[CODE(DOMa)@en[[[defaultView]]]] はどちらのブラウザでも
[CODE(JS)@en[[[null]]]] になります。

;; [[WinIE 6]] は実装していません。

;; テスト: <http://suika.fam.cx/~wakaba/-temp/test/dom/document/view/>

[4] [CITE@en-US[Window Object 1.0]]
( ([TIME[2006-04-08 02:19:28 +09:00]] 版))
<http://www.w3.org/TR/Window/#dfn-default-view>

[13] [CITE@en[Be more precise about nested and discarded browsing contexts]]
([[domenic]]著, [TIME[2016-07-20 22:58:49 +09:00]])
<https://github.com/whatwg/html/commit/39118df640ad4a3f03f164fb5ffe0a56316297be>