Table Of Content
什么是懒加载?
语法参数及使用方式?
有哪些特点?
与js有关的实践
Web应用需要经常向后台服务器请求资源(通过查询数据库,是非常耗时耗资源的),但是请求量过大,会导致服务端负载过大,响应慢,就容易造成前端的应用以及页面卡顿。
为了解决这种问题,现今浏览器普遍使用了缓存技术,但是如果数据量过大,就不合适了,因为内存容量有限,把过多的数据放在内存中,会影响电脑性能。
以此为背景,懒加载技术萌生。
懒加载,又叫做按需加载,就是字面上的意思,懒加载的出现,主要为了防止页面一次性向服务器响应大量请求导致服务器响应慢,页面卡顿或崩溃等问题。
如果你想要让一张图片在靠近浏览器视窗的时候才加载,下面代码就可以了:
<img src="./example.jpg" loading="lazy" alt="zhangxinxu">
HTML loading属性支持的值除了lazy还有下面这几个:
lazy
图片或框架懒加载,也就是元素资源快要被看到的时候加载。
eager
图片或框架无视一切进行加载。
auto
默认值。图片或框架基于浏览器自己的策略进行加载。
如果HTMLImageElement或者HTMLIFrameElement元素没有显式地设置loading属性或者loading属性的值不合法,则都被当作auto处理。
总结,原生懒加载的5个行为特征:
与JavaScript有关的几个行为特征(先看与JS有关的实践部分):
1. 如何判断当前浏览器是否支持loading=”lazy”?
下面三种方法都可以:
var isSupportLoading = 'loading' in document.createElement('img');
或者:
var isSupportLoading = 'loading' in new Image();
或者:
var isSupportLoading = 'loading' in HTMLImageElement.prototype;
2. 如何获取loading属性值
假设<img>元素的DOM变量名是img,则该图片元素的loading属性值直接下面语法就可以获取了:
var attrLoading = img.loading;
参考:Link
001_Chrome 76支持原生HTML 图片懒加载Lazy loading
原文:https://www.cnblogs.com/jaycethanks/p/12064737.html