Комментарии 27
зачем еще какойто js и т.д. городить?
опять для поддержки IE 2009?
caniuse.com/loading-lazy-attr
А еще можно воспользоваться специализированными CDN, например https://uploadcare.com/, и не городить огород с чем-то вроде ImageMagic. Там из коробки вы получите WebP для тех браузеров, которые этот формат поддерживают и еще кучу всякой полезной магии, которой самостоятельно наколхозить будет непросто.
В Can I Use указан поддержка 91.3% всех браузеров. Малину портит все тот же Safari, где нет поддержки альфа-канала и анимации, но если они не существенны, то уровень поддержки возрастает до 95%. Да и в случае если они нужны, можно делать fallback на стандартные форматы в случае отсутствия полной поддержки со стороны браузера, вопрос лишь занимаемом картинками дисковом пространстве на сервере.
Вообще весьма странно уделять в статье об оптимизации графики всего пару предложений под альтернативные форматы.
А что по поводу seo при выводе изображений посредством JavaScript? Кажется поисковые роботы ещё не научились выполнять js скрипты. А изображения вроде как играют роль в продвижении
Data URL может быть хорош для некоторого спектра задач, но
- С ним не сработает кэширование картинки/иконки, если она используется на нескольких страницах.
- Сокращение количества запросов актуально для протоколов ниже HTTP 2.0
- Альтернативой может выступить векторное изображение в SVG.
Но главное в том, что на мобильные устройства (а именно у них формально разрешение обычно меньше) нужно как раз выгружать изображения минимум в полтора раза большие чем то место которое они будут занимать, потому что изображения пиксел-в-пиксел будут выглядеть на мобильных устройствах нечеткими из-за технологий изменения разрешения наэкранах современных устройств. Причем для современных устройств коэффициента 1.5 недостаточно, многим уже надо 2.
Особенно сказанное касается аватаров и фотографий товара, их обязательно надо на мобильные устройства выгружать в 1.5-2 раза больше, чем формальное разрешение в HTML. Иначе воспринимаются размытыми.
На 4k-мониторах тоже эта проблема, поэтому есть смысл чуть ли не везде двойной размер иметь. А регулировать показ можно через srcset. Поэтому всё равно получится по две копии картинки.
Оптимизация веб-графики в 2021 году