使用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'。我需要清除缓存以从服务器获取更新。
有没有办法更新这个。
请帮帮我
我正在使用ASP .NET MVC框架来构建我的Web应用程序
答案 0 :(得分:0)
当您更改清单中定义的文件的内容时,您还必须更新清单文件,以便浏览器下载该文件的最新内容。
来自MDN(https://developer.mozilla.org/en-US/docs/Web/HTML/Using_the_application_cache)
的陷阱部分缓存应用程序时,只更新网页中使用的资源(文件)不足以更新已缓存的文件。您必须在浏览器检索并使用更新的文件之前更新缓存清单文件。您可以使用window.applicationCache.swapCache()以编程方式执行此操作,但已加载的资源不会受到影响。要确保从新版本的应用程序缓存加载资源,刷新页面是理想的。