2011-04-06 138 views
2

我有一個應用程序,它曾用於使用HTML5 offline cache。現在我決定不再使用它,並從index.html文件中刪除manifest屬性。但是,瀏覽器仍然將此網站視爲緩存,並拒絕更新index.html文件。如何擺脫HTML5離線緩存?

即使更新manifest也沒有幫助。我如何從用戶的離線緩存中刪除該網站?我是否永遠堅持使用緩存的網站?

+0

你怎麼試着更新清單? – edeverett 2011-04-06 08:23:15

+0

用戶可以在瀏覽器的「首選項」面板中手動將其刪除。不知道這是你正在尋找的答案。 – timdream 2011-04-06 08:23:17

+0

@edeverett:更新清單沒有改變主文件的緩存 @timdream:我不能問用戶,因爲我不知道哪些用戶受到影響。 Chrome中的這個偏好設置窗格也在哪裏? – 2011-04-06 16:49:33

回答

2

您需要確保清單文件沒有被緩存,默認情況下它會是。

添加

ExpiresActive On 
ExpiresDefault "access" 

爲了您的.htaccess將停止一切被緩存,但你真的只是想清單文件以這種方式這樣被緩存:(記得要更新文件名)

<Files cache.manifest> 
    ExpiresActive On 
    ExpiresDefault "access" 
</Files> 

你真的需要先這樣做,但這應該可以緩解這個問題。

我建議您通過Mark Pilgrim's page來閱讀。

+0

Mark Pilgrim鏈接不再有效。 – skeeve 2011-10-05 20:28:53

+0

更改鏈接轉到鏡像。 – 2011-10-05 21:09:53

0

嘗試將您的manifest的內容更改爲CACHE MANIFEST,但沒有列出任何文件。客戶應該在下一次訪問站點時檢索新的清單,並且應該刪除它們的緩存。

但請注意,他們將不會使用這個新的空清單,直到他們刷新頁面。

我發現在某些瀏覽器中,他們並不一定會立即抓取新的manifest。雖然這種行爲似乎不一致。發生這種情況時,我傾向於手動清除緩存/脫機存儲,以強制更新(儘管我知道您不一定會讓用戶執行此操作)。

+0

對我來說,這對包含'manifest ='屬性的主文件不起作用。不知何故,瀏覽器仍然認爲這個網站被緩存。 – 2011-04-06 16:52:14