2012-10-25 102 views
1

我有一個JSON資源,我們稱之爲/ game/1,這個資源正在公開緩存很長的時間。基於某些客戶端邏輯,我想偶爾想要刷新此資源(例如,當我知道某些事情應該發生在服務器端時 - 以我的情況爲例)。交叉標籤頁瀏覽器緩存,強制刷新

一旦刷新,我希望所有下游緩存更新爲新內容,因此任何對/ game/1的請求都會獲取刷新的內容。在這種情況下追加具有隨機參數的查詢字符串將不起作用。

我試圖在要求,這似乎是一個喜怒無常的方式工作在IE之外的瀏覽器中添加下列頭

headers['Cache-Control'] = 'max-age=0, no-cache'; 
    headers['Pragma'] = 'no-cache'; 

使用這些頭,鍍鉻似乎有時刷新內容,大概是基於一些內部的啓發式。

有沒有人有任何更好的ideeas爲我想實現?

回答

0

嘗試將meta http-equiv =「expires」內容設置爲零。

將'expires'元標記設置爲零應該強制瀏覽器在每次頁面訪問時重新加載所有內容。強制不斷的緩存刪除會明顯減慢頁面加載速度(如果所有瀏覽器都遵守它)!但也許這是一個可以接受的折衷。但這對下游緩存沒有幫助,因此遠不是一個完整的解決方案。

+0

禁用緩存清楚地修復了錯誤,但是這個問題是關於如何通過**最佳緩存來獲得正確的行爲**。仍然不是我找到的解決方案:) –