[14] Screen
オブジェクトは、
出力装置を表します >>8。
[17] 出力装置という語は CSSOM View 仕様書でも明確な定義は与えられていませんが、 窓がレンダリングされるべき画面のことを指しています。通常は物理的なディスプレイ (単独の装置のこともあれば、ノートPCやスマートフォンのように計算機本体と一体化していることもあります。) ですが、仮想化されて物理的に存在しない場合もあります。
[18] マルチディスプレイ環境での扱いを CSSOM View 仕様書は規定していませんが、 窓が所在する (とプラットフォーム依存の方法で決定される) 画面が自動的に選択されるようです。
[22] 次の状態を持ちます。
[26] 窓は、画面内に存在して、画面の座標系上の位置や、 可視性状態を持ちます。
[27] プラットフォームによっては、一定時間利用者の操作が無いと、 スクリーンセーバー、ロック画面、画面の省電力モードといった窓が表示されない状態に移行することがあります。 動画再生中など、それを無効化するべき場合もあります。
[16] Screen
インターフェイスの colorDepth
属性と pixelDepth
属性は、 24 を返さなければなりません
>>8。
[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 です。
[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 もちゃんと適当な値になります。
[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