Как добавить атрибут loading=”lazy” к iframe и видео? Для iframe достаточно дописать loading=”lazy” в открывающий тег — браузер отложит загрузку содержимого до момента, когда фрейм приблизится к области просмотра. К тегу video этот атрибут не применяется: в спецификации HTML он поддерживается только для img и iframe, поэтому видео откладывают через preload=”none” вместе с постером или скриптом на IntersectionObserver.
Практический нюанс: ленивая загрузка iframe не сработает предсказуемо, если у фрейма нет явных размеров — без width и height браузер не знает, где он находится, и подгружает его сразу, заодно получая скачок вёрстки. Указывайте размеры в атрибутах или через CSS aspect-ratio, а для критичных фреймов выше первого экрана атрибут лучше не ставить вовсе.
Мини-чек-лист: добавьте loading=”lazy” в тег iframe; задайте width и height или aspect-ratio; для видео используйте preload=”none” с poster и подменой src через IntersectionObserver; проверьте, что атрибут реально поддержан — Chrome и Edge поддерживают его для iframe с 77-й версии, Firefox с 121-й, Safari с 16.4, а в старых браузерах фрейм просто загрузится как обычно, без ошибок.
