私が今まで見つけた唯一の方法は、1インチのdiv
とheight
を持つテストwidth
要素のoffsetWidth、offsetHeightを取得することです: http:// www.infobyip.com/detectmonitordpi.php
代わりにJavaScriptを介して画面のDPIを検出する方法はありますか?
ありがとう、
アタラ。
<div id='testdiv' style='height: 1in; left: -100%; position: absolute; top: -100%; width: 1in;'></div>
<script type='text/javascript'>
dpi_x = document.getElementById('testdiv').offsetWidth;
dpi_y = document.getElementById('testdiv').offsetHeight;
</script>
次に、JQueryを使用してdpi_x
とdpi_y
をサーバーに送信できます
Webkitでは、window.devicePixelRatioから値を取得するだけで、ユーザーがいわゆる「高dpi画面」を持っているかどうかを検出できます。
通常のdpi画面は1を返します。iPhone4は2を返しますが、1.8や2.12のような数値も可能です。
これまでのところ、標準的でサポートされているソリューションはありません。
window.devicePixelRatio
は、laurens peetersが示唆しているように、IEや、2013年1月初旬(Firefox 17など)のような古代のブラウザを気にしない場合でも機能します。
2012年後半の時点でこの情報を取得する方法については、 Cross Browser Retina/High Resolution Media Queries (およびそこにあるさまざまなコメントとリンク)を参照してください。ただし、もう一度検索し、コードを調整する必要があります。何かが最終的に標準化され、すべてのブラウザに実装され、古いバージョンを気にするのをやめることができるほど広く採用されるまで、頻繁に…