Как получить доступ к настройкам разрешения экрана дисплея через javascript?
Во-первых, чтобы помочь с vanillajs возможной (и очень распространенной) путаницей vanilla-javascript с термином DPI (точек на javascript дюйм):
DPI не входит в "настройки javascript экрана". Он (неправильно) используется .js в двух разных контекстах:
- Собственное количество пикселей на дюйм экрана (или видео). Он определяет, насколько малы пиксели. Вы можете иметь одинаковое разрешение 1024x768 как на 14-дюймовом экране ноутбука, так и на 17-дюймовом ЖК-мониторе. Первое будет примерно 1280/14 = 91 DPI, а второе - примерно 1280/17 = 75 DPI. DPI экрана неизменен; его нельзя изменить в настройках дисплея. More...
- Количество точек на дюйм, нанесенное на бумагу во время печати. Это количество расположенных рядом точек, которое принтер / копировальный аппарат / факс может напечатать на одном дюйме бумаги. Большинство принтеров можно настроить на печать с более низким разрешением, просто печатая каждую точку как две, четыре и т. Д. Точки. More...
При javascript-dom печати изображения есть много vanilla-javascript вещей, которые влияют на javascript окончательные размеры изображения js на бумаге:
- Размеры исходного изображения - это количество пикселей или имеющихся данных.
- DPI исходного изображения. Это значение определяет, как следует интерпретировать размеры при печати изображения.
- Если исходное изображение не имеет встроенной информации о разрешении на дюйм (в формате JPEG она может быть, а в формате GIF - нет), в используемой программе могут быть настройки для указания разрешения. Это может быть программа для просмотра изображений / редактор или даже веб-браузер.
- Коэффициент масштабирования, который обычно указывается в диалоговом окне печати.
- Текущее значение DPI принтера.
- Физический (максимальный) DPI принтера.
Суть в том, что vanilla-js изображение, которое вы распечатываете, будет javascript-disabled эффективно преобразовано ecmascript (уменьшено или увеличено), чтобы ecmascript соответствовать окончательному vanillajs DPI, используемому в процессе javascript печати. Причиной этого может vanilla-javascript быть любая из задействованных dpi сторон (программа, драйвер vanilla-js печати, принтер).
А теперь вернемся к вашему вопросу. Нет, вы не можете определить DPI экрана, потому что это не программная область. Это термин аппаратной области, описывающий, насколько большой монитор может позволить себе купить пользователь. Обновление: Я изначально javascript-disabled написал этот ответ еще в display-dpi 2009 году, с моим пониманием js текущих технологий. Как отметил vanilla-javascript @thure, теперь вы можете ecmascript (с 2012 года?) Использовать vanilla-js функцию window.matchMedia для определения display-dpi DPI экрана.
Если вы пытаетесь vanilla-js добиться точности при печати dpi макета HTML, как предлагали javascript-execution другие, ваш CSS должен использовать ecmascript размеры печати, такие как display-dpi em, pt или pc, вместо px. Однако vanillajs окончательный результат может js по-прежнему зависеть от того, какой vanilla-js браузер использует. Если js вам нужно преобразовать HTML display-dpi в PDF (или создать PDF с dpi нуля), печать PDF даст вам javascript-execution самый настоящий WYSIWYG как display-dpi на экране, так и на бумаге.
javascript
dpi
display-dpi
Как получить доступ к настройкам разрешения экрана дисплея через javascript?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.