簡體   English   中英

HTML5 appcache以編程方式刪除

[英]HTML5 appcache remove programmatically

是否可以使用javascript刪除HTML5應用程序緩存?

這些是用於刪除/禁用應用程序緩存的可用選項:

  1. 使用空內容更新清單文件-現有appcache可用,沒有任何資源
  2. 在現有清單文件中包含虛擬url-它會為新的應用程序緩存拋出404。 但是舊的應用程序緩存並未完全從瀏覽器引擎中刪除
  3. 從chrome開發者控制台中刪除-如果我們要手動刪除。

但是我的要求是根據來自服務器的通知,使用JavaScript以編程方式刪除appcache。 有沒有實現此功能的選項???

也許這可行。 從服務器加載頁面時,傳遞一個標志,指示是否要在頁面中包含清單屬性。 如果在服務器上呈現html,則將該標志傳遞給您使用的任何模板引擎。 否則,根據該標志的值(不包含manifest屬性)返回另一個html頁面。

從服務器收到通知時,請使用?includeAppCache=false刷新該頁面。

如果這不是您要找的東西,也許我誤會了您的要求? 據我了解,您的客戶端將收到來自服務器的通知,指示客戶端不應再使用appcache,對嗎?

您可以使用fallback部分或網絡通配符通過appcache事件或清單文件的其他配置來完成所需的查找,例如:

NETWORK:
*

我發現是一個很好的資源。

我通過利用AppCache API中的Obsolete事件找到了解決方案。

僅使用版本更新下載Appcache:

修改appcache版本后,新文件將開始下載。 到那時,應用程序將不再等待阻止應用程序啟動。 它通過使用現有的緩存文件(CSS,JS和操作文件)來工作。 但是新下載的靜態文件(CSS,JS)將僅在重新啟動時執行。

具有過時事件的Appcache下載:

無需更新appcache版本,我們可以創建新的appcache文件,並且相同的引用已添加到HTML文件中。 每當appcache文件狀態為404或410時,它將返回過時事件。 在這種情況下,如果我們重新啟動應用程序,則新的緩存文件將並行下載,並且應用程序將使用從網絡下載的新文件,而不是從舊的緩存加載。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM