图片&视频延迟加载 (Lazyload)
最后更新: | 浏览次数: 120|组件以及效果
延迟加载又称为惰性加载,懒加载,是一种将资源标识为非阻塞(非关键)资源并仅在需要时加载它们的策略,可以缩短页面加载时间,提高Page Speed 分值。
系统核心shared-v(x).min.js 支持以下所有场景的加载方式。
开发建议
1.首屏视口内默认可见的图片或视频不要使用任何形式的延迟加载(会引发LCP问题)
2.直接图片延迟加载使用loading="lazy"
属性方式
2.非直接图片(如背景图,视频封面)资源采用Intersection Observer方式加载
原生延迟加载
通过img标签默认loading
属性可直接实现图像的延迟加载,目前主流浏览器均支持该属性
<img src="image.jpg" alt="" loading="lazy"/>
重要提示:loading
属性不支持背景图片/视频的延迟加载,以及部分浏览器下的iframe内容加载。
Intersection Observer方式延迟加载
图片延迟加载(弃用)
<img alt="A lazy image" width="800" height="400" class="lazy" data-src="lazy.jpg" />
背景延迟加载
<div class="lazy" data-bg="lazy.jpg"></div>
视频封面延迟加载
<video class="lazy" controls width="620" src="lazy.mp4" preload="none" data-poster="lazy.jpg"></video>
视频文件使用preload="none"
可在播放时再加载内容
参考文档
延迟加载特性以及对Google Page speed的相关知识,请参考以下第三方权威链接:
Google web.dev:https://web.dev/i18n/zh/lazy-loading-images/
mdn web doc lazyload: https://developer.mozilla.org/zh-CN/docs/Web/Performance/Lazy_loading