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

в 6:24, , рубрики: apple, javascript, retina display, Веб-разработка, ретина

Я отыскивал способ выяснить 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>';
}

Автор: Mithgol

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js