Единственный способ, который я нашел до сих пор, – получить 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
этого на ваш сервер
В 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 года, но вам придется продолжать поиск и корректировать свой код каждый раз, пока что-то наконец не получит стандартизированы и внедрены в каждом браузере, с широко распространенным принятием версии, что вы можете перестать заботиться о более старых версиях …