2015-09-09 71 views
1

Html5緩存是一種將網站存儲在瀏覽器內存中的機制,因此您可以在離線時加載它。它讀取緩存清單文件來識別哪些url應該被緩存,哪些不是。html5緩存,每次更新用戶在線

一旦它緩存你的網站,它將永久停留,即使你在線!總是你會得到緩存版本的網站。除非清單文件內容被更改。

問題是如何每次用戶在線時更新html5緩存?

+0

用戶需要再次訪問您的網址爲它更新 –

+0

是的,但也表現出需求過於更新。這就是我想跳過的內容。 – ElSajko

+1

你應該只在文件中保留靜態的文件,比如你的客戶端模板(JS或者一些靜態html),你沒有在那裏定義的東西,將會從服務器獲取請求..就像你的json數據.. – webdeb

回答

1

緩存清單,當你調用將得到下載:

var appCache = window.applicationCache; 

appCache.update(); // Attempt to update the user's cache. 

... 

if (appCache.status == window.applicationCache.UPDATEREADY) { 
     appCache.swapCache(); // The fetch was successful, swap in the new cache. 
} 

但是,清單文件應該被更新,如果文件沒有改變,什麼都不會發生。所以,你必須生成清單文件。並添加一些評論與LASTUPDATE時左右..

CACHE MANIFEST 
# 2010-06-18:v3 

# Explicitly cached entries 
index.html 
css/style.css 

# offline.html will be displayed if the user is offline 
FALLBACK: 
//offline.html 

# All other resources (e.g. sites) require the user to be online. 
NETWORK: 
* 

# Additional resources to cache 
CACHE: 
images/logo1.png 
images/logo2.png 
images/logo3.png 
+0

正如你可以在主要帖子中看到的問題。我知道清單需要更新。問題是,如何跳過它。 – ElSajko

+0

你不能跳過它,你可以使用其他技術來緩存數據,但如果你使用脫機緩存,你必須處理規格 – webdeb

+0

所以唯一的方法是在後臺運行的進程將改變在清單中的評論每個讓我們說1分鐘..這很奇怪。爲什麼HTML5緩存是這樣完成的?這就像「爲html5創建緩存,但沒有主要功能!」 – ElSajko