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

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

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

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

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

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

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

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

16
задан Michael Gaskill 19 May 2016 в 03:40
поделиться