Я пытаюсь использовать медиа-запрос «Resolution» для определения фактического DPI экрана.
Код, который я делаю, выглядит следующим образом:
window.matchMedia(`(resolution: ${value}dpi)`).matches
Но яобнаружите, что value
, для которого этот запрос является истинным, равно 96 на двух разных устройствах, которые не имеют одинаковый DPI.Например, на одной машине фактическое значение DPI равно 157. window.devicePixelRatio
равно 1 на обеих этих машинах.На третьем устройстве фактическое значение DPI равно 215, но приведенный выше запрос говорит мне, что это 192 (ровно удвоенное значение 96), а window.devicePixelRatio
равно 2.
Я видел мультимедийные запросы CSS, которые выглядят как "@media "или" @media screen ", но если я помещу любое из этих значений в строку, я передам matchMedia
, то оно никогда не произойдет, независимо от значения.Тем не менее, я чувствую, что должен что-то упустить, потому что спецификация говорит, что resolution
соответствует реальному разрешению экрана, и я никогда не вижу, чтобы это произошло.