Как определить DPI экрана с помощью JavaScript
Единственный способ, который я нашел до сих пор, это получение смещения offsetWidth, offsetHeight div
элемент с height
а также width
одного дюйма: http://www.infobyip.com/detectmonitordpi.php
Есть ли способ определения DPI экрана через JavaScript?
Спасибо,
Атар.
3 ответа
<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 вернут 1. iPhone 4 вернет 2, но также возможны цифры вроде 1.8 или 2.12.
Пока что не существует стандартного и поддерживаемого везде решения.
window.devicePixelRatio
, как предполагает Лорен Питерс, работает, если вам нет дела до IE или какого-либо браузера с древних времен, например, с начала января 2013 года (например, Firefox 17).
Информацию о том, как получить эту информацию по состоянию на конец 2012 года, см. В разделе " Кроссбраузерные сетчатки / медиа-запросы высокого разрешения" (а также различные комментарии и ссылки там), но вам придется продолжать искать и корректировать свой код, время от времени, пока что-то не получится. стандартизирован и реализован в каждом браузере, с достаточно распространенным внедрением версий, что позволяет вам больше не заботиться о старых версиях…