デュアルディスプレイ環境において画面サイズを取得するときの挙動

JavaScriptを使って利用者の画面サイズ(解像度と呼ぶべきか)を取得できることを知っている人は多いと思います。
よくアクセス解析にあるアレですね。

そこでふと思ったのが、「デュアルディスプレイってどう出るんだろう?」ということ。
私の自宅の環境では、24インチワイドの1920×1200と20インチワイドの1680×1050をデュアルで利用しています。
この場合どう検出されるのか?

dualdisplay_res.jpg

そこで、さっと実験用のスクリプトを書いて試してみました。

<Script language=”JavaScript”>
<!–
//ディスプレイの幅取得
screenWidth = window.screen.width;

//ディスプレイの高さ取得
screenHeight = window.screen.height;

//取得したモニタの幅と高さを書き出す
document.write(“ディスプレイの幅:”+screenWidth+”px ×<BR>ディスプレイの高さ:”+screenHeight+”px”)
//–>
</Script>

実験には手元にあるブラウザ3種類を利用。

1. InternetExplorer6
2. Firefox2.0
3. Safari3.1

結果・・・

1. InternetExplorer6の場合
ウィンドウの位置に関係なく、1920×1200と判定。

2.3 Firefox2.0、Safari3.1の場合
1920×1200のディスプレイにブラウザが入っている時は1920×1200と判定。
1680×1050のディスプレイの時は1680×1050と判定

ブラウザによって判定が異なるようです。IE6の場合、プライマリに指定されているディスプレイのほうが常に表示され、SafariとFirefoxは、今そのウィンドウがあるディスプレイのほうが判定されました。

じゃあFirefoxやSafariが2つのディスプレイをまたいでいるときはどうか?

結果は、FirefoxとSafari両方同じ挙動で
「ハミ出している部分が大きい方が判定される」
でした。
プライマリ側にちょっとでもウィンドウがよっていればプライマリが検出され、セカンダリ側によっていればセカンダリが検出されました。
まあ納得の結果ですね。

IEは7ではまた挙動が異なっている可能性もありますが、手元にすぐ試せる環境がないので未検証です。

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://jaco.dotstyle.net/2008/05/%e3%83%87%e3%83%a5%e3%82%a2%e3%83%ab%e3%83%87%e3%82%a3%e3%82%b9%e3%83%97%e3%83%ac%e3%82%a4%e7%92%b0%e5%a2%83%e3%81%ab%e3%81%8a%e3%81%84%e3%81%a6%e7%94%bb%e9%9d%a2%e3%82%b5%e3%82%a4%e3%82%ba%e3%82%92/trackback/
Listed below are links to weblogs that reference
デュアルディスプレイ環境において画面サイズを取得するときの挙動 from JB_Plus
Search
Feeds
Meta

Return to page top