软件定制开发供应商前端经典面试题 | 性能优化之 懒加载

🖥️ 软件定制开发供应商前端经典面试题专栏:之 懒加载
🧑‍💼 个人简介:软件定制开发供应商一个不甘平庸的平凡人🍬

✨ 个人主页:

🍀 格言: ☀️ 软件定制开发供应商路漫漫其修远兮,软件定制开发供应商吾将上下而求索☀️

👉 你的一键三连是我更新的最大动力❤️


一、回答点

在网页中延迟加载图片数据,提升用户体验,减少无用资源加载

二、深入回答

的概念

        懒加载又叫 延迟加载、按需加载,在网页中延迟加载图片数据,是一个比较好的网页性能优化的方式之一。在较长的网页中,如果图片数据很多美,所有的图片一下都被加载出来,而用户只能看到可视窗口的一部分图片数据,这样就浪费了性能。

懒加载的特点

        减少无用资源的加载:使用懒加载明显减少了服务器的压力,也减少了浏览器的负担。

        提升用户的体验:同时加载很多图片,用户需要等待的时间较长,会影响用户体验,使用了懒加载可以大大的提高用户体验。

        防止加载过多图片影响其他资源文件的加载:影响网站应用的正常使用

懒加载的实现原理

        图片的加载是由src引起的,当你对src进行赋值时,浏览器就会请求图片资源,根据它我们可以使用HTML5的 data-xxx 属性来存储图片路径,在需要加载图片的时候 将 data-xxx 中图片的路径赋值给src 就实现了图片的懒加载。

        data-xxx中的xxx可以是自定义的,这里使用data-coder来定义。

        懒加载的实现在于用户需要加载哪张图片,在浏览器中,可视区域内的资源就是需要的资源。当图片出现在可视区域内时,获取图片的真实地址并赋值给图片

        window.innerHeight =》 浏览器可视的高度

        document.body. || document.documentElement.scrollTop =》 浏览器滚动过的距离

        imgs.offsetTop =》 是元素顶部距离文档顶部的高度(包括滚动条距离)

        图片加载条件: img。offsetTop < window.innerHeight + document.body.scrollTop

代码实现:

  1. // 首先获取到 所有图片
  2. let imgs = document.querySelectorAll('img');
  3. function load() {
  4. let scrollTop = document.body.scrollTop || document.documentElement.scrollTop;
  5. let heightT = window.innerHeight;
  6. for(let i = 0; i < imgs.length; i++) {
  7. if(imgs[i].offsetTop < scrollTop + heightT ){
  8. imgs[i].src = imgs[i].getAttribute('data-coder')
  9. }
  10. }
  11. }
  12. window.onscroll = load()

懒加载和预加载的区别

        懒加载和预加载都是提高网页性能的方式,他们的区别是  一个为提前加载,一个为慢加载甚至不加载。懒加载对服务器有一定的缓解压力作用,而预加载会增加服务器的压力。

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发