关于浏览器缓存问题(图片更换后,页面仍优先读取缓存)

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

1.在图片的路径的后面拼接 ‘?内容’ 解决,具体如下

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

  timestamp(url) {
    let getTimestamp = new  Date().getTime();
    url= url + "?timestamp=" + getTimestamp
      return url
  }

<img width=”188″ height=”150″ src=”url”>

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

例子:

<ul class=”imglist” >
<li><img width=”188″ height=”150″ src=”/images/photo/ico/pic_1_0128.jpg?random=”> </li>
</ul>

    $(".imglist").find("li").each(function(index,domEle){
        var obj = $(this).find("a").find("img");
        obj.attr("src",obj.attr("src")+Math.random());
    });
    

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

<meta http-equiv=”pragma” content=”no-cache”/>
<meta http-equiv=”cache-control” content=”no-cache”/>
<meta http-equiv=”expires” content=”0″/>

表示不要缓存数据

以上是解决方法:大家视情况使用

    原文作者:一叶知秋
    原文地址: https://segmentfault.com/a/1190000016514777
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞