Как определить экран DPI с помощью JavaScript

Единственный способ, который я нашел до сих пор, – получить offsetWidth, offsetHeight элемента test div с height и width одного дюйма: http://www.infobyip.com/detectmonitordpi.php

Есть ли способ обнаружить экран DPI через JavaScript вместо этого?

Благодаря,

Атар.

 <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 этого на ваш сервер

http://jsfiddle.net/sxfv3/

В webkit вы можете определить, имеет ли ваш пользователь так называемый «экран с высоким разрешением», просто извлекая значение из window.devicePixelRatio.

Экран с нормальным разрешением экрана вернет 1. iPhone 4 вернет 2, но также возможны числа, такие как 1,8 или 2.12.

До сих пор не было стандартного и поддерживаемого решения.

window.devicePixelRatio , как это было предложено laurens peeters, работает, если вас не волнует IE или любой браузер с древних времен, например, в начале января 2013 года (например, Firefox 17).

См. Cross-Browser Retina / High Resolution Media Queries (и различные комментарии и ссылки там) о том, как получить эту информацию по состоянию на конец 2012 года, но вам придется продолжать поиск и корректировать свой код каждый раз, пока что-то наконец не получит стандартизированы и внедрены в каждом браузере, с широко распространенным принятием версии, что вы можете перестать заботиться о более старых версиях …