【vue】vue-lazyload重复请求图片,chrome调试disable cache时出现

现象

chrome 调试开启 disable cache 时,使用 vue-lazyload 配置了懒加载的图片会请求两次

查看启动器,对应的两段代码如下:

  • 第一段,第 426 行,异步加载图片

  • 第二段,第 1329 行,渲染图片

vue-lazyload 图片懒加载原理

  1. 配置了懒加载的 img 元素,初始化时渲染一小段 base64 格式的静态图片作为占位图片并记录位置

  2. 页面快要滚动到占位图片时(比如滚动高度不足100像素),异步加载图片(发送请求)

  3. 滚动到目标位置时渲染图片,修改 img 标签的 src 属性(会从缓存中读取图片数据,不会重新发 http 请求)

chrome network tools 勾选禁用缓存后图片加载两次的原因

在原理第 3 步中,会通过修改 imgsrc 属性实现从占位图到实际图的切换,正常使用缓存时会从缓存中取图片数据,禁用后则会重新发送 http 请求

参考

vue-lazyload

相关推荐
eason_fan18 分钟前
Service Worker 缓存请求:前端性能优化的进阶利器
前端·性能优化
光影少年27 分钟前
rn如何和原生进行通信,是单线程还是多线程,通信方式都有哪些
前端·react native·react.js·taro
好大哥呀1 小时前
Java Web的学习路径
java·前端·学习
计算机毕设VX:Fegn08951 小时前
计算机毕业设计|基于springboot + vue动物园管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
HashTang1 小时前
【AI 编程实战】第 7 篇:登录流程设计 - 多场景、多步骤的优雅实现
前端·uni-app·ai编程
北辰alk1 小时前
深入理解Vue数据流:单向与双向的哲学博弈
vue.js
cos1 小时前
Fork 主题如何更新?基于 Ink 构建主题更新 CLI 工具
前端·javascript·git
小满zs1 小时前
Next.js第二十一章(环境变量)
前端·next.js
C***11501 小时前
Spring aop 五种通知类型
java·前端·spring