2016-12-09 98 views
2

我的問題是,網站有一些文本更新,但客戶端在清除瀏覽器緩存之前無法看到它。 我試過如何用JavaScript清除網站的緩存?

window.location.reload(true) 

它會導致頁面重新加載。 我試過

<meta http-equiv='cache-control' content='no-cache'> 
<meta http-equiv='expires' content='-1'> 
<meta http-equiv='pragma' content='no-cache'> 

而且它對已經兌現的文件沒有影響。 有什麼方法可以清除我的確切頁面的緩存? 謝謝!

+0

也許你只有在有緩存的情況下才能重新加載?設置一個存儲標誌? – callback

回答

1

使用JavaScript代碼清空瀏覽器緩存是不可能的。但即使可能,您的客戶也需要首先獲得新版本的代碼,以便通過瀏覽器進行評估,這是不可能的,因爲它們至少在它變得陳舊之前使用緩存版本。

所以對於將來使用你的網站,你將需要配置Web服務器發送正確的緩存相關的HTTP標頭值一樣Control-ControlExpiresETagLast-Modified與響應或使用元標記將它們嵌入到HTML。但是,您當前的用戶需要手動清除瀏覽器緩存,或者等到您更改的頁面在其緩存中變得陳舊。您可以向他們發送說明如何清除瀏覽器緩存。有一個RefreshYourCache.com網站,但它有點過時。

有關與緩存相關的HTTP標頭的更多信息,請檢查此tutorial

+0

謝謝!是的,在閱讀更多內容時,我意識到情況就是如此。 – margarita