Ленивая загрузка изображений: как работает атрибут loading
loadingЛенивая загрузка (loading="lazy") — это способ загрузить изображение только тогда, когда оно реально нужно пользователю. Например, когда он докрутил до него на странице.
Вот что она даёт:
Раньше, чтобы подгрузить изображение только тогда, когда оно нужно, мы:
IntersectionObserver,requestIdleCallback, setTimeout, событиями прокрутки,Это было сложно.
Но теперь — всё иначе.
Благодаря атрибуту loading, браузер сам решает, когда загрузить изображение или фрейм.
<img src="pokemon.png" loading="lazy" alt="Покемон пикачу" />💡 Работает из коробки. Поддерживается большинством современных браузеров.
📖 Поддержка: caniuse.com/loading-lazy
loading| Значение | Что делает | Когда использовать |
|---|---|---|
eager | Загружает изображение сразу (по умолчанию) | Для above-the-fold контента |
lazy | Загружает, когда элемент попадает в viewport | Для всего, что ниже первого экрана |
<picture>Да, это работает и внутри тега <picture>:
<picture>
<source media="(min-width: 768px)" srcset="test.jpg 1x, test.jpg 2x" />
<img src="pokemon.jpg" loading="lazy" alt="Покемон пикачу" />
</picture><iframe><iframe
src="https://www.youtube.com/watch?v=-R_3t7sHZVA"
loading="lazy"
width="630"
height="420"
title="Видео про покемонов"
></iframe>loading="lazy"Атрибут loading — это простой способ:
Подключайте. Используйте. И пусть ваши страницы загружаются не только красиво, но и быстро.