web前端的无聊小知识--预加载和懒加载

在这里插入图片描述

什么是预加载和懒加载

预加载是提前加载图片,当用户需要查看时可直接从本地缓存中渲染(程序比较勤快,还没开始看这个页面的时候就加载这个页面需要的图片视频等等)

常用的是new Image();设置其src来实现预载,再使用onload方法回调预载完成事件。只要浏览器把图片下载到本地,同样的src就会使用缓存,这是最基本也是最实用的预载方法。当Image下载完图片头后,会得到宽和高,因此可以在预载前得到图片的大小(方法是用记时器轮循宽高变化)

懒加载也就是延迟加载,先偷懒不加载(等用户需要看到的时候再加载)

当访问一个页面的时候,先把img元素或是其他元素的背景图片路径替换成一张大小为1*1px图片的路径(这样就只需请求一次,俗称占位图),只有当图片出现在浏览器的可视区域内时,才设置图片正真的路径,让图片显示出来。这就是图片懒加载。

预加载和懒加载的区别

  • 预加载是指在页面加载完成之前,提前将所需资源下载,之后使用的时候从缓存中调用
    懒加载是延迟加载,按照一定的条件或者需求等到满足条件的时候再加载对应的资源
  • 预加载增加了服务器压力,换来的是用户体验的提升,典型例子是在一个图片较多的网页中,如果使用了预加载就可以避免网页加载出来是时,图片的位置一片空白(图片可能还没加载出来),造成不好的用户体验
    懒加载的作用减少不要的请求,缓解了服务器压力
  • 懒加载和预加载是相反的,一个是提前加载,一个是迟缓甚至不加载。懒加载对服务器前端有一定的缓解压力作用,预加载则会增加服务器前端压力。

懒加载的原理

原理:原理很简单,先把img的src指向空或者一个小图片,图片真实的地址存储在img一个自定义的属性里,< img src=”” data-src=”http://real.com/real.jpg” />,等到此图片出现在视野范围内了,获取img元素,把data-src里的值赋给src。这样做能防止页面一次性向服务器响应大量请求导致服务器响应慢,页面卡顿或崩溃等问题。

优点:页面加载速度快、可以减轻服务器的压力、节约了流量,用户体验好

预加载的原理

提前加载图片,当用户需要查看时可直接从本地缓存中渲染

意义:预加载可以说是牺牲服务器前端性能,换取更好的用户体验,这样可以使用户的操作得到最快的反映。图片预先加载到浏览器中,用户就可顺利地在你的网站上访问。可以保证图片快速、无缝地发布,也可帮助用户在浏览你网站内容时获得更好的用户体验。

预加载的实现方法

  • 用CSS和JavaScript实现预加载
  • 仅使用JavaScript实现预加载
  • 使用Ajax实现预加载

懒加载的实现方法

  • 第一种是纯粹的延迟加载,使用setTimeOut或setInterval进行加载延迟
  • 第二种是条件加载,符合某些条件,或触发了某些事件才开始异步下载
  • 第三种是可视区加载,即仅加载用户可以看到的区域,这个主要由监控滚动条来实现,一般会在距用户看到某图片前一定距离遍开始加载,这样能保证用户拉下时正好能看到图片
  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

githubcurry

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值