2012-06-15 66 views
0

應用程序緩存每次客戶端訪問該站點時都會自動檢查和更新文件。可以說,只需點擊一個按鈕即可更新緩存。點擊僅爲該請求添加「清單」標籤。在下一個請求中,「清單」被刪除。應用程序緩存清單 - 從<html>中刪除「清單」後仍將文件保留在緩存中?

文件仍然在緩存中,還是被瀏覽器刪除?

當清單沒有在標籤中定義時,清單緩存的文件是否仍然會被使用?

回答

1

這些文件將仍然在緩存! 問題在於:appcache文件將一直使用。緩存中的頁面仍然保存清單條目。因此,您首先必須刪除服務器端的條目,然後自行更新清單內容,以便代理再次更新appcache中的頁面,而現在沒有該清單條目。

0

我知道這是一個古老的問題,但令人驚訝的是,關於這個問題的信息很少。

與馬文的回答的同時,你可以利用清單的一個鮮爲人知的功能,清除緩存:

如果有任何高速緩存中的部分中提到的文件無法被檢索, 的整個緩存將被忽略。

http://appcachefacts.info/

所以,你更新清單後,所有你需要做的是使用它指向一個不存在的清單文件的文件,然後一切都應該被拋棄。

您可以使用一個小PHP使事情更清潔:

<?php 
$CACHE = false; 
?><!DOCTYPE html> 

<html manifest="<?php if(!$CACHE){echo "BREAK";} ?>manifest.php">