解决浏览器图片缓存问题(图片不能及时变过来)


因为部分需求(跟换头像,切换轮播图等等)改变图片或者本地上传新图片,会导致图片缓存问题,从而达不到预期效果,还是加载原图片
查找了一些资料,总结出3个方法。

1.在图片的路径的后面拼接 '?内容' 解决,具体如下
(1)在图片src路径后面加上时间戳,使浏览器(移动端设备)认为每次加载的不是同个图片。
例子:

1 "188" height="150" src="url">
2 
3 timestamp(url) {
4     let getTimestamp = new  Date().getTime();
5     url= url + "?timestamp=" + getTimestamp
6       return url
7   }

(2)在图片src路径后面加上随机数,使浏览器(移动端设备)认为每次加载的不是同个图片。
例子:

1 
    class="imglist" > 2
  • "188" height="150" src="/images/photo/ico/pic_1_0128.jpg?random=">
  • 3
4 5 $(".imglist").find("li").each(function(index,domEle){ 6 var obj = $(this).find("a").find("img"); 7 obj.attr("src",obj.attr("src")+Math.random()); 8 });

2.(浏览器)在中加入这3句话:

1 "pragma" content="no-cache"/>
2 "cache-control" content="no-cache"/>
3 "expires" content="0"/>

表示不要缓存数据