UzumakiItachi
首页
  • JavaSript
  • Vue

    • Vue2
    • Vue3
  • React

    • React_18
  • WebPack
  • 浏览器相关
  • 工程化相关
  • 工作中遇到的问题以及解决方案
  • Git
  • 面试
  • 学习
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
  • 个人产出
  • 实用工具
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

UzumakiItachi

起风了,唯有努力生存。
首页
  • JavaSript
  • Vue

    • Vue2
    • Vue3
  • React

    • React_18
  • WebPack
  • 浏览器相关
  • 工程化相关
  • 工作中遇到的问题以及解决方案
  • Git
  • 面试
  • 学习
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
  • 个人产出
  • 实用工具
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • WebPack

  • 浏览器相关

  • 工程化相关

  • 工作中遇到的问题以及解决方案

    • 解决浏览器返回页面不刷新的问题
    • 前端如何下载文件流
    • uniapp APP端实现更新最新安装包
    • GitHub Actions Process completed with exit code 128 的解决方案
    • 保留文字输入的空格和换行
    • 缩放适配大屏页
    • 一次性加载n多张图片的性能优化方案
      • 前言
      • 预加载
      • demo
      • new Image的妙用
    • NOT-Cool 低代码页面架构思路
    • h5下载vcard快捷保存联系人信息
    • 结合elementui实现的动态主题
    • 解决monorepo场景下子包作为依赖项在开发和生产暴露文件的问题
    • 给npm配置github令牌
    • 移动端电子印章解决方案
    • 小程序canvas绘制海报中遇到的一些坑
    • 超详细的虚拟列表实现过程
    • 小程序实现一个事件中心
    • 请求超时后如何优雅的重新请求
    • 超详细的大文件上传实现方案
    • 仿抖音短视频组件实现方案
    • swiper渲染大量数据的优化方案
    • 前端检测更新,自动刷新网页
  • Git

  • Vite

  • 一些小工具

  • 算法

  • 服务器

  • HTTP

  • 技术
  • 工作中遇到的问题以及解决方案
hanhanbuku
2023-06-28
目录

一次性加载n多张图片的性能优化方案

# 前言

在网页中一次性加载很多张图片是一个非常消耗性能的事情,通常需要配合懒加载和预加载来达到性能优化的方案。如果图片不是一次性出现在可视区域的可以采用懒加载的方式,但是如果是一次性出现的话就需要通过预加载和浏览器缓存来去做优化了。

# 预加载

所谓的预加载,其实就是提前加载一遍图片。并且服务端配置协商缓存。我们将预加载这一步放置在页面的loading阶段,同时在服务端响应头上配置一下协商缓存(如果图片资源不变的话也可以使用强缓存)。这样等加载过一遍之后,关闭loading页就可以做到秒开了。所有的资源都会走缓存。 下面就来说一下怎么做吧

# demo

实现上其实非常简单,只需要通过new Image这个对象的src属性赋值一下就会出发网络请求。然后再他的onload或者onerror事件里去记数就可以了

let img = new Image()
img.src = 'xxx'
img.onload = function (){
    console.log('加载完成')
}
img.onerror = function (){
    console.log('加载失败')
}
1
2
3
4
5
6
7
8

# new Image的妙用

new Image在实际应用中还可以作为埋点,心跳包来发请求,他不会占用网络请求限额,同时也不需要网页面里插入dom。开销非常的小。只需要在onload和onerror里来处理成功失败即可

编辑 (opens new window)
上次更新: 2023/06/28, 17:24:39
缩放适配大屏页
NOT-Cool 低代码页面架构思路

← 缩放适配大屏页 NOT-Cool 低代码页面架构思路→

最近更新
01
前端检测更新,自动刷新网页
06-09
02
swiper渲染大量数据的优化方案
06-06
03
仿抖音短视频组件实现方案
02-28
更多文章>
Theme by Vdoing | Copyright © 2023-2025 UzumakiItachi | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式