【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

相关推荐
知识分享小能手1 天前
微信小程序入门学习教程,从入门到精通,微信小程序常用API(上)——知识点详解 + 案例实战(4)
前端·javascript·学习·微信小程序·小程序·html5·微信开放平台
清灵xmf1 天前
CSS field-sizing 让表单「活」起来
前端·css·field-sizing
文火冰糖的硅基工坊1 天前
[光学原理与应用-480]:《国产检测设备对比表》
前端·人工智能·系统架构·制造·半导体·产业链
excel1 天前
Qiankun 子应用生命周期及使用场景解析
前端
weixin_446260851 天前
Django - 让开发变得简单高效的Web框架
前端·数据库·django
ObjectX前端实验室1 天前
【react18原理探究实践】异步可中断 & 时间分片
前端·react.js
SoaringHeart1 天前
Flutter进阶:自定义一个 json 转 model 工具
前端·flutter·dart
努力打怪升级1 天前
Rocky Linux 8 远程管理配置指南(宿主机 VNC + KVM 虚拟机 VNC)
前端·chrome
brzhang1 天前
AI Agent 干不好活,不是它笨,告诉你一个残忍的现实,是你给他的工具太难用了
前端·后端·架构
brzhang1 天前
一文说明白为什么现在 AI Agent 都把重点放在上下文工程(context engineering)上?
前端·后端·架构