美文网首页大前端
前端大图加载速度优化

前端大图加载速度优化

作者: jack钱 | 来源:发表于2024-06-25 09:25 被阅读0次

    问题

    在实际开发中,需要加载100M的图片到网页上,并且需要绘制到canvas中,进行拖拽缩放等操作。
    但受网速影响,拿到图片都需要10秒,再加上前端js处理的时间,导致交互时间很长。

    处理方案

    在适当的时机提前获取图片资源,缓存到前端浏览器,这样真正使用时直接从本地拿

    图片缓存方法

              let img = new Image();
              img.src = 'https://cube.elemecdn.com/6/94/4d3ea53c084bad6931a56d5158a48jpeg.jpeg';
              img.onload = () => {
                console.log('图片缓存成功');
              };
    

    以element给的测试图片地址举例


    image.png
    image.png
    问题1

    本地项目调试时发现并不会缓存,因为响应头中Cache-Control未配置,那就麻烦一下后端老哥吧
    Cache-Control相关可以点击这里:图文讲解 Cache-Control 浅显易懂

    问题2

    配置完后发现小图可以缓存了,但是大于50M的图片还是缓存不下,因为浏览器有缓存的限制
    如何在 Windows 11/10 中更改 Microsoft Edge 缓存大小 (windows-office.net)
    没有找到配置chrome比较好的教程,chrome跟Edge的操作步骤是一样的,按照这个来就行。主要就是在快捷方式的属性中增加这行代码

    • 注意前面要加个空格
    --disk-cache-size=2147483647
    
    image.png

    配置完后,发现大图也可以缓存了

    edge设置缓存大小不生效的解决方法:
    浏览器缓存大小设置-disk-cache-size - 简书 (jianshu.com)

    相关文章

      网友评论

        本文标题:前端大图加载速度优化

        本文链接:https://www.haomeiwen.com/subject/esodcjtx.html