Как получить физический размер экрана (то есть в дюймах)?

Я пытаюсь выяснить, как получить физические размеры экрана устройства с помощью Javascript. Пока что я пришел к выводу, что в настоящее время это невозможно, но я надеюсь, что кто-то может доказать, что я неправ :).

До сих пор я пытался получить эту информацию, находя DPI устройства, но, похоже, здесь нет способа получить правильное значение, так как все устройства, которые я тестировал (некоторые устройства HDPI и XHDPI Android, iPhone4S, iPad 2 и iPad 3) сообщают о 96DPI.

Первый метод получения DPI, который я пробовал, - это тот, который вы можете найти везде в Интернете: создатьdiv с шириной CSS1inхренclientWidth или жеoffsetWidth и там ваш DPI. Не работает, все устройства сообщают 96.

Второй метод использовалразрешение медиа-запросачто-то вроде:

for (var i=90; i < 400; i++) {
    if (matchMedia('(resolution: ' + i + 'dpi)').matches) {
       return i;
    }
}

Я думал, что это было разумное решение, но, к сожалению, оно также возвращает 96.

Осталось ли что-нибудь, что я могу попробовать?

 user66967705 мая 2014 г., 13:49
У меня нет лучшей идеи, чем спросить пользователя.
 raina77ow29 июн. 2012 г., 16:40
Я предлагаю проверитьthis threadЕсли вы этого еще не сделали. Я не думаю, что это возможно - по крайней мере, более-менее точно.

Ответы на вопрос(2)

Взгляни наэта почта. It's done with:

<meta name="viewport" content="width=device-width, target-densitydpi=device-dpi">
 Felix06 июл. 2012 г., 15:47
Я надеялся, что с добавленным тегом устройство сообщит правильный DPI, используя один из методов, описанных в моем вопросе. К сожалению, этого не происходит, но спасибо за подсказку.
 29 июн. 2012 г., 16:43
Я считаю, что это установка DPI, а не его извлечение.
Решение Вопроса

96 "DPI" это веб-стандарт, который имеет мало общего с реальностью. Дюймы, которые он измеряет, лучше всего считать «логичными» дюймы, которые соответствуют метрикам шрифта и измерениям CSS (которые могут включать точки и дюймы). «Точка» в типографии он определен как 1/72 дюйма, но экраны перестали быть последовательно 72 DPI давным-давно. Таким образом, все, что CSS-точка действительно означает сейчас - это то, что шрифт размером 96 точек имеет высоту 72 пикселя. (И это логические пиксели, поскольку проблема теперь еще больше связана с экранами с высоким разрешением.)

Во всяком случае, большинство собственных операционных систем ничего не знают об их истинном физическом размере экрана, поэтому у них даже нет информации о том, что они могли бы открыть для веб-приложений через браузер. То, что вы спрашиваете, невозможно.

 07 апр. 2014 г., 01:49
Возможно, эта информация была доступнаto операционные системы для некоторого оборудования. Но лишь немногие, если таковые имеются, операционные системы делают его доступным для приложений, и еще меньше приложений его используют. (И ни один веб-браузер не предоставляет эту информацию JavaScript.)
 07 апр. 2014 г., 01:53
& Quot; 100% & quot; настройки просмотра в приложениях, таких как Word и Photoshop, основаны на жестко заданных пикселях на дюйм в дюймах. значение. Попробуйте сами: сделайте что-нибудь в одном, если эти приложения, распечатайте его и поднесите распечатанную страницу к экрану со значением 100%. Размеры, вероятно, не будут соответствовать. (Большинство приложений предполагают 72px / inch, и большинство дисплеев были более плотными, чем это в течение длительного времени.) Даже если это произойдет, это не произойдет, как только вы измените разрешение экрана или откроете приложение на другом компьютере / дисплее с другой размер экрана и такое же разрешение.
 06 апр. 2014 г., 13:52
Конечно, все современные операционные системы хорошо осведомлены о физических размерах устройства вывода. Даже старая и грязная Windows-3.1, по крайней мере, предоставляла необходимые поля в своих структурах данных для ее представления (и, конечно, она используется, например, с принтерами). А с момента появления DDC в подключениях к дисплеям компьютерные дисплеи отображают свой физический размер экрана, который вместе с плотностью пикселей переводится в физическое разрешение. Конечно, если программное обеспечение действительно использует эту информацию, это другая история. Но, тем не менее, информация уже давно доступна во всех основных ОС.
 12 мар. 2014 г., 09:44
Мне интересно, если большинство ОС не знают о физическом размере экрана, как такое приложение, как MS Word, может точно отображать размер страницы при увеличении до 100%? Также другие приложения, такие как Photoshop, почти наверняка должны знать DPI экрана.

Ваш ответ на вопрос