JavaScriptで画面サイズを取得したいと思っています。
コードとしては以下です。
screen.width
screen.height
Web上で同様の機能を提供しているページでも確認しましたが、どこも同じ実装・同じ結果でした。
画面サイズを取得する
IPアドレスや画面解像度など確認くん - instant tools
パソコンの、現在のウィンドウサイズ[画面サイズ]を調べる
Win7ではChrome, Firefox, IEともに、ディスプレイのカタログスペック上の値と同じ値を取得できました。
しかし、Android+Chromeで実行すると値が半分になりました。
具体的にはNexsus7 2013でアクセスしました。
タブレット | Nexus 7 (2013) | ASUS 日本
カタログスペックでは「1,920×1,200ドット」となっています。
しかしAndroid+Chromeだと
「横 : 960 × 縦 : 600」となります。
ブラウザが悪いのかと思いAndroid+Firefoxで試すと
「横 : 960 × 縦 : 552」となりました。
CPU-Zでも試してみましたがこれだと
「横 : 1920 × 縦 : 1200」となりました。
Android+Chromeで「テキストの拡大と縮小」
Android+Firefoxで文字サイズの変更
の設定を変更しましたが、状況は変わりませんでした。
ネイティブのAPIでは正しく取得できるけど、JavaScriptだと正しく取得できない上、ブラウザの実装によって値が異なってしまうかのような状態です。ただ、そうだとするとMedia Queriesを使っても同様の問題が起きるような気がします。もしかしたらモードの切り替え機能があって動画などのソフトではフルサイズ使えブラウザなどでは半分のサイズなのかなと思っています。でさらに、何か設定を変えるとブラウザでもフルサイズを使えるようになるのかもと思っています。
一番の目的はJavaScriptでカタログスペック上の値を取得することです。ただ、もしも出来ないのだとしてもその原因を正しく把握したいと思っています。
質問は以下です。
・Android+ブラウザ経由で、「screen.width」などのコードでカタログスペックの値が取得できないのはなぜか
・JavaScriptでカタログスペックの値を正しく取得する方法はあるか、あるならその方法
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/05/08 06:13