Дополнительно
Что является лучшим способом, чтобы обнаружить поддержка Retina на устройстве с помощью JavaScript?
Прямо сейчас я использую этот:
function is_retina_device() {
return window.devicePixelRatio > 1;
}
Но это'с простота меня пугает. Есть ли более тщательной проверки?
46
4
По данным все, что я'вэ недавно прочитал, браузеры движутся к "разрешению" медиа-выражение запроса. Это вместо устройства-пикселей соотношение`, который используется в настоящее время принято отвечать. Причина устройства-пикселей соотношение должны быть использованы только в качестве запасного варианта, потому что это не стандартный запрос СМИ.
По данным w3.org:
Посмотреть полную статью
Резолюция СМИ документации запроса
Поскольку "резолюции" является унифицированной и, следовательно, будущее позвольте's польза, что первый в обнаружения для будущей защиты. Еще и потому, что я'м не уверен, если вы хотите обнаружить только высокого dppx устройства или только сетчатка(Apple, только) устройств, Я'ве добавил друг. Наконец, просто как Примечание, обнаружение iPhone просто агента пользователя нюхают так может'т быть зависит от. Примечание: для функции
isRetina
я'м с помощью dppx из 2 вместо 1,3, потому что все устройства с дисплеем Retina компания Apple 2dppx.Примечание похоже, что МС края имеет некоторые проблемы с нецелым числом values
Если вы хотите его для изображений, вы можете использовать retinajs или этот код общий ответ, чтобы его обнаружить:
На самом деле, код, который вы're, используя в своем вопросе абсолютно права, если вас волнует только современных браузерах. (См.: http://caniuse.com/#feat=devicepixelratio)
Все современные браузеры его реализовать, и в старых браузерах будет просто служил в низком разрешении. Я не'т ожидать, что в IE10 - показать на сетчатку / высокой-Res устройства. Кроме того, с помощью проверки CSS в JavaScript не более странно, чем с помощью стандартного окна свойств?
Блин, devicePixelRatio поддержка браузер даже лучше, чем спец разрешение. (См.: http://caniuse.com/#feat=css-media-resolution)
Я'd не сказать, что это'ов на самом деле очень безопасны в использовании, мы используем его в производстве веб-сайтов с более чем 10 миллионов посетителей в месяц. Работает, как ожидалось.
Единственное, что я'd изменение-это имя функции, как необходимость, чтобы загрузить в высоком разрешении изображения не'т имею в виду технически экран сетчатки. На самом деле, вы не'т даже нужно проверить количество, как определено > 1
результаты
ложное`.devicePixelRatio не является надежным на всех. при увеличении масштаба до 200%, окна.devicePixelRatio вернет вас 2, но вы не на дисплее Retina.