离线缓存(HTML5)

时间:2015-03-04 13:57:48

标签: asp.net asp.net-mvc html5 caching offline-caching

使用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应用程序

1 个答案:

答案 0 :(得分:0)

当您更改清单中定义的文件的内容时,您还必须更新清单文件,以便浏览器下载该文件的最新内容。

来自MDN(https://developer.mozilla.org/en-US/docs/Web/HTML/Using_the_application_cache

的陷阱部分
  

缓存应用程序时,只更新网页中使用的资源(文件)不足以更新已缓存的文件。您必须在浏览器检索并使用更新的文件之前更新缓存清单文件。您可以使用window.applicationCache.swapCache()以编程方式执行此操作,但已加载的资源不会受到影响。要确保从新版本的应用程序缓存加载资源,刷新页面是理想的。