我们正在提供一个页面,我们正在为正在缓存的亚马逊S3提供图片。但是,他们可能在第二页上被更改了。 现在的问题是,当我点击带有前几页网址的链接时,图片不会重新加载。
然而,之后在页面上的浏览器中刷新正确加载新图像。我很好奇为什么会这样,因为图像缓存标题是正确的(从手动刷新可以看出)以及如何正确处理这个问题,即使用简单的URL链接转到上一页时重新加载新图像?
答案 0 :(得分:0)
您可以在链接中添加随机虚拟变量。您没有使用变量的值,但链接不同,因此,brwoser将重新加载没有缓存的页面。
例如:
<a href="www.yourweb.com/photos/page.php?rand=4w385fg959">Link</a>
如果您可以访问.htaccess文件,则可以添加此
<filesMatch "\.(jpg|jpeg|png|bmp)$">
FileETag None
<ifModule mod_headers.c>
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
</ifModule>
</filesMatch>
防止追逐图像。
答案 1 :(得分:0)
试试这个。
function myFunction() {
location.reload();
&#13;
<button onclick="myFunction()">Reload page</button>
&#13;
参考:Here