2011-09-07 25 views
9

MDNがwindow.screenオブジェクトを使用する方法を説明するだけでなく、 "DOM Level 0. Not part of specification."window.screenは安全ですか?

を言うW3Schoolsのはwindow.screen.*性質がsupported in all major browsersであることを述べています。

これを正しく理解すれば... window.screenは完全に非標準ですが、それにもかかわらず全面的にサポートされています。そうですか?

これが当てはまる場合、私は気付いている必要があるクロスブラウザの違いはありますか、それとも私はそれを使用するだけですか?私はほとんどの場合、screen.availWidthに興味があります。

+0

標準から逸脱すると、将来のブラウザでコードが壊れる可能性があります。 –

+1

* Screen *インターフェースは[CSSOM View](http://www.w3.org/TR/cssom-view/#the-screen-interface)標準で指定されています。 –

+0

DOMは実際には抽象的なドキュメントに関するものなので、実際の出力デバイスという概念はありません。実際には、すべてのブラウザは何らかの出力デバイスを提供する必要があります(ただし、出力デバイスのないDOMバインドされたスクリプトエンジンを含めるために 'wget'をイメージできます)。だから、ウィンドウがDOMにないのです(Simeのリンクが示唆するように、他の場所でも標準化されているかもしれませんが)。 –

答えて

4

これで問題はありません。

標準の一部ではない理由は、標準が出回る前にDOMレベル0が導入されたためです。 DOMレベル0はレガシーDOMとも呼ばれ、NetScape 2.0と同時に作成されたため、ブラウザのJavaScriptが現実のものとなりました。実際には、DOMレベル0が最初のDOM仕様でした。

レガシーDOMは長い間存在していますが、そうでなければすでに存在する非常に一般的なスクリプトのTONとの下位互換性が損なわれます。

編集:つまり、あなたの理解は完全に正しいです。それは「標準化」されていませんが、それは完全に普遍的であり、長い間そのままになります。

+0

しかし、それは標準の一部です。 "> _ <' –

+0

ウィンドウは標準の一部です。ウィンドウが画面オブジェクトに保持される保証は、標準の一部ではありません。 –

+0

@ ime Vidasあなたは、メディアクエリ(CSSを介して行われ、JavaScript DOM APIとは関係ない)によって使用されるCSSOM APIを参照しています。その点では、はい、画面が標準化されています。 –

関連する問題