2015-03-25 132 views
0

我们有一个页面,我们正在从亚马逊S3获取缓存的图像。但是,他们可能已在第二页上更改。 现在的问题是,当我点击一个URL到前一页的链接时,图像不会被重新加载。当点击链接时页面刷新

但是,在页面的浏览器中进行刷新后,正确加载新图像。我很好奇,为什么这是因为图像缓存标头是正确的(从手动刷新可以看出),以及如何正确处理这个问题,即使用简单的url链接转到上一页时重新加载新图像?

+1

那你试试这么远吗? – niyasc 2015-03-25 09:58:24

+0

检查此[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

回答

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> 

防止chaching图像。

+0

aaah ..当然是时间戳技巧,我完全忘记了这一点,但是还有其他方法可以吗?因为我想保持浏览器的网址栏清洁 – 2015-03-25 10:19:44

0

试试这个。

function myFunction() { 
 
    location.reload();
<button onclick="myFunction()">Reload page</button>

参考:Here