2015-03-25 233 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