我的小型HTML5應用需要重新部署在服務器上。我知道我只需觸摸.appcache文件即可在下次訪問時將每個瀏覽器更新到最新版本的文件。HTML5離線appcache:強制刷新所有內容?
清單如下:
CACHE MANIFEST
#Version: 201209251353
index.html
apple-touch-icon.png
css/styles.css
data/dump.bin
img/background.png
img/sprites.png
js/core.js
js/jquery-1.8.1.min.js
vid/walkthrough.mov
「觸動」,我加了一個註釋(的#Version :)我的意思是隨時更新的內容變化。
奇怪的是,一些文件被更新。並非所有的人都知道,一個同事得到最新的core.js,但仍然顯示一箇舊的walkthrough.mov。
有沒有一種簡單的機制來強制更新緩存中的所有文件?
我發現所以下面的代碼,其中包括它在腳本,希望它幫助。不知道怎麼要緊的是:(
// Application cache refresh
window.addEventListener('load', function(e) {
window.applicationCache.addEventListener('updateready', function(e) {
if (window.applicationCache.status == window.applicationCache.UPDATEREADY) {
// Browser downloaded a new app cache.
// Swap it in and reload the page to get the new hotness.
window.applicationCache.swapCache();
if (confirm('A new version of this site is available. Load it?')) {
window.location.reload();
}
} else {
// Manifest didn't changed. Nothing new to server.
}
}, false);
}, false);
謝謝!那麼,在appcache中的所有文件上設置'Expires'標頭到1994年是否足夠好呢?它仍然可以離線使用? – Markasoftware