Screen

Screen

仕様書

意味

[14] Screen オブジェクトは、 出力装置 (output device) を表します >>8。

[17] 出力装置という語は CSSOM View 仕様書でも明確な定義は与えられていませんが、 窓がレンダリングされるべき画面のことを指しています。通常は物理的なディスプレイ (単独の装置のこともあれば、ノートPCやスマートフォンのように計算機本体と一体化していることもあります。) ですが、仮想化されて物理的に存在しない場合もあります。

[19] CSSOM View は「the screen of the output device」という語を起源に触れる時だけ使っています。それ以外は単に 「the output device」と言っています。

[18] マルチディスプレイ環境での扱いを CSSOM View 仕様書は規定していませんが、 窓が所在する (とプラットフォーム依存の方法で決定される) 画面が自動的に選択されるようです。

状態

[22] 次の状態を持ちます。

幅
高さ
装置画素の縦サイズ
devicePixelRatio で参照されます。
ロック画面表示中
プラットフォームのロック画面の表示中かどうかを表します。 文書の可視性状態に影響します。 値が変化した時 visibilitychange が発火されるかもしれません。

[23] 画面には、座標系が定義されます。

[26] 窓は、画面内に存在して、画面の座標系上の位置や、 可視性状態を持ちます。


[27] プラットフォームによっては、一定時間利用者の操作が無いと、 スクリーンセーバー、ロック画面、画面の省電力モードといった窓が表示されない状態に移行することがあります。 動画再生中など、それを無効化するべき場合もあります。

メンバー

[11]

[16] Screen インターフェイスの colorDepth 属性と pixelDepth 属性は、 24 を返さなければなりません >>8。

幅と高さ

[12] 出力装置は、幅 (width) と高さ (height) を持ちます。

[13] Screen インターフェイスの width 属性および availWidth 属性は、 文脈オブジェクトの幅を CSS画素単位の long で返さなければなりません >>8。

[15] Screen インターフェイスの height 属性および availHeight 属性は、 文脈オブジェクトの高さを CSS画素単位の long で返さなければなりません >>8。

[20] CSSOM View 仕様書は、 avail* について、 出力装置の「rendering surface」の幅や高さと規定しています >>8。 その「rendering surface」が具体的に何であるかは不明です。 Windows の Firefox や IE は、タスクバーを除いた大きさを返すようです。 CSSOM View に含まれていない availTop および availLeft と併せて、デスクトップ環境の固定の表示要素を除いた実質的な表示領域が元々の意図だったようです。 Chrome は avail* でも全体の幅と高さを返すので、 Web互換性のためにはこの差は考慮しなくて構わないようです。

[21] これらの情報は、 fingerprinting vector です。

演算

[25] 画面写真

関連

多画面

歴史

[1] 次の属性は JavaScript 1.2 で導入されました。

[2] screen - MDC ( 版) https://developer.mozilla.org/Ja/DOM/Window.screen

[9] availTop, availLeft は Gecko と WebKit にはありますが、 WinIE7、Opera 9.52 にはありません。

[73] screen.top と screen.left は Gecko にはありますが、 WebKit、Opera 9.52、 WinIE7 にはありません。

[10] window.screen.availTop - MDC ( 版) https://developer.mozilla.org/en/DOM/window.screen.availTop

[3] Firefox と Safari はマルチディスプレイに対応しているみたいです (Windows Vista で確認)。 width、height 系だけでなく、top、left 系もディスプレイにより変化します。

当該ブラウザー窓の中央あたりが属するディスプレイについての情報を返しているっぽいです。 タスクバーの有無によって avail もちゃんと適当な値になります。

両ブラウザーとも一致するのは偶然でしょうか、それとも OS の API の仕様でしょうか。

Opera と WinIE は対応していません。

[4] [whatwg] Processing the zoom level - MS extensions to window.screen ( ( 版)) http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2010-November/029073.html

[5] The Screen Orientation API ( ( 版)) http://www.w3.org/TR/2012/WD-screen-orientation-20120522/

[6] The Screen Orientation API ( ( 版)) http://www.w3.org/TR/2012/WD-screen-orientation-20121206/

[7] The Screen Orientation API ( ( 版)) http://www.w3.org/TR/2014/WD-screen-orientation-20140220/

[28] [cssom-view] Make window.open's features use Web-exposed screen area (zcorpan著, ) https://github.com/w3c/csswg-drafts/commit/80c0561f714b96ae696d17f46774b26c1d251e90