Welcome to WuJiGu Developer Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
309 views
in Technique[技术] by (71.8m points)

图片模块的缓存问题

require 导入的图片,通过new Image().src 的方式实现预加载,但是这种方式好像不能加入到缓存,突然改变图片的src还会是闪一下,要创建一个真实img tag,动态添加到body中才能去请求并缓存起来。
请问有什么更简单性能更好更省流量的方法呢?

需要预加载的图片
clipboard.png

创建节点的方式可以缓存
clipboard.png

img 对象的方式好像不能缓存
clipboard.png


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

1) 同一张图片如果不对图片做出压缩、gzip等减小体积的操作的话,是没有办法减小传输流量的。

2) 使用 new Image 方式预加载的图片,浏览器(至少在 Chrome/57.0.2987.133中),是被缓存的。所以我想问你一

下,你说好像不能缓存,是如何确认结果?(可能你确认错了)。


更新

clipboard.png

这样的图片就是缓存成功的。从你的评论,我并不能知道是否缓存过了图片,并且图片闪一下不一定是没有缓存导致的。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to WuJiGu Developer Q&A Community for programmer and developer-Open, Learning and Share
...