因为部分需求(跟换头像,切换轮播图等等)改变图片或者本地上传新图片,会导致图片缓存问题,从而达不到预期效果,还是加载原图片
查找了一些资料,总结出3个方法。
1.在图片的路径的后面拼接 '?内容' 解决,具体如下
(1)在图片src路径后面加上时间戳,使浏览器(移动端设备)认为每次加载的不是同个图片。
例子:
1 <img width="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 <ul class="imglist" > 2 <li><img width="188" height="150" src="/images/photo/ico/pic_1_0128.jpg?random="> </li> 3 </ul> 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 <meta http-equiv="pragma" content="no-cache"/> 2 <meta http-equiv="cache-control" content="no-cache"/> 3 <meta http-equiv="expires" content="0"/>
表示不要缓存数据