js刷新图片源的缓存问题

2017/09/20 javascript

js刷新图片源的缓存问题

问题重现

当使用js来刷新一张图片的图片源,如果只是图片变了,而src路径不变(路径和图片名不变,但图片内容变了),则会引发浏览器的缓存问题:

当src路径不变时,浏览器不会重新去请求一次改地址,而是从浏览器自己的缓存里读取

但这样是情有可原的,因为这会大幅提高网页加载速度;那总要解决这个办法吧?看下面

解决办法

其实思路很简单,既然是因为路径一样导致的问题,那我每次请求的路径不一样不就行啦?!

最简单有效的办法:在src地址后面再加一个无关的参数(这个参数不能有实际意义),参数的值可以用一个随机数来代替,js里面就有一个生成随机数的方法 Math.random() ;那解决办法就出来了:

path:"./data/imageActionServlet?random="+Math.random()+"&path="+retData.get("path"),

Search

    Table of Contents