最近做图片展示需求,发现更换了轮播的图片(名字保留原来相同),但是仍然加载了旧的图片,因为浏览器存在缓存机制的问题..
查找了一些资料,总结出2个步骤:
1.在<head>中加入这3句话:
<meta http-equiv="pragma" content="no-cache"/>
<meta http-equiv="cache-control" content="no-cache"/>
<meta http-equiv="expires" content="0"/>
表示不要缓存数据
2.在图片src路径后面加上随机数,使浏览器认为每次加载的不是同个图片。
例子:
<ul class="imglist" >
<li>
<a><img width="188" height="150" src="/images/photo/ico/pic_1_0128.jpg?random="></a>
</li>
</ul><!--imglist end-->
<li>
<a><img width="188" height="150" src="/images/photo/ico/pic_1_0128.jpg?random="></a>
</li>
</ul><!--imglist end-->
//在图片路径后面加上随机数,处理缓存问题。
$(".imglist").find("li").each(function(index,domEle){
var obj = $(this).find("a").find("img");
obj.attr("src",obj.attr("src")+Math.random());
});
$(".imglist").find("li").each(function(index,domEle){
var obj = $(this).find("a").find("img");
obj.attr("src",obj.attr("src")+Math.random());
});
暂时还没找到其他更好的方法,待更新...如有朋友有好的方法,欢迎讨论。