当点击链接时页面刷新
问题描述:
我们有一个页面,我们正在从亚马逊S3获取缓存的图像。但是,他们可能已在第二页上更改。 现在的问题是,当我点击一个URL到前一页的链接时,图像不会被重新加载。当点击链接时页面刷新
但是,在页面的浏览器中进行刷新后,正确加载新图像。我很好奇,为什么这是因为图像缓存标头是正确的(从手动刷新可以看出),以及如何正确处理这个问题,即使用简单的url链接转到上一页时重新加载新图像?
答
您可以为您的链接添加一个随机虚拟变量。您不使用变量的值,但链接不同,因此,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>
防止chaching图像。
+0
aaah ..当然是时间戳技巧,我完全忘记了这一点,但是还有其他方法可以吗?因为我想保持浏览器的网址栏清洁 – 2015-03-25 10:19:44
答
试试这个。
function myFunction() {
location.reload();
<button onclick="myFunction()">Reload page</button>
参考:Here
那你试试这么远吗? – niyasc 2015-03-25 09:58:24
检查此[http://stackoverflow.com/questions/8835261/refresh-page-after-onclick-in-aa](http://stackoverflow.com/questions/8835261/refresh-page-after-onclick-in -aa) – 2015-03-25 10:00:33