使用HTML 5离线缓存方法从服务器更新缓存信息遇到了一些困难。
以下是步骤列表,
1-创建了一个包含以下条目的cache.manifest文件
CACHE MANIFEST
# Version 1.0
CACHE:
/loading.js
/images/pan-icon.png
NETWORK:
*然后我开玩笑地添加以下事件绑定程序,从服务器加载更新的信息
window.addEventListener('load', function (e) {
window.applicationCache.update();
window.applicationCache.addEventListener('updateready', function (e) {
if (window.applicationCache.status == window.applicationCache.UPDATEREADY) {
// Browser downloaded a new app cache.
window.applicationCache.swapCache();
console.log('Updated');
} else {
console.log('No Update');
}
}, false);
}, false);但它总是无法从服务器上获得最新的“loading.js”。我需要清除缓存才能从服务器获得更新。
有没有办法提前更新。
请帮帮我
我正在使用.NET MVC框架来构建我的web应用程序。
发布于 2015-03-04 14:08:52
当您更改清单中定义的文件的内容时,还必须更新清单文件,以便浏览器删除该文件的最新内容。
来自MDN (cache)的gotchas部分
当应用程序被缓存时,仅仅更新在网页中使用的资源(文件)并不足以更新已经缓存的文件。在浏览器检索和使用更新的文件之前,必须更新缓存清单文件本身。您可以使用window.applicationCache.swapCache()以编程方式完成此操作,但是已经加载的资源不会受到影响。要确保从应用程序缓存的新版本加载资源,最好刷新页面。
https://stackoverflow.com/questions/28856327
复制相似问题