Pull to refresh

Распознаём retina-дисплеи джаваскриптом

Reading time1 min
Views11K
Original author: Brian Cray
Я отыскивал способ выяснить DPI устройства для употребления в мобильном дизайне. Я ещё не обнаружил его, зато нашёл приём для выяснения того, пользуется ли читатель сайта сетчаточным дисплеем. Вот как без хлопот достичь этого:
var retina = window.devicePixelRatio > 1 ? true : false;

Теперь переменная retina примет значение true, если у читателя сетчаточный дисплей. В дальнейшем можно использовать простой оператор if, чтобы выполнить тот или иной код в зависимости от типа дисплея.

if (retina) {
    // у читателя дисплей типа retina
}
else {
    // у читателя дисплей не типа retina
}

Зачем?

Вот хороший пример: если у меня на сайте иллюстрация (или видео) размером 100×100, то вышеприведённый код посоветует мне скачать иллюстрацию повышенного размера (200×200), чтобы она выглядела чётко на iPhone 4 — а пользователям других устройств не придётся скачивать картинку 200×200 без нужды. Ведь скорость особенно важна для мобильных пользователей.

if (retina) {
    var html = '<img src="200x200.jpg" width=100 height=100>';
} else {
    var html = '<img src="100x100.jpg" width=100 height=100>';
}
Tags:
Hubs:
+9
Comments31

Articles