【问题标题】:Offline Caching(HTML5)离线缓存(HTML5)
【发布时间】:2015-05-05 13:14:36
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

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

    来自 MDN (https://developer.mozilla.org/en-US/docs/Web/HTML/Using_the_application_cache) 的问题部分

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

    【讨论】:

      猜你喜欢
      • 2010-11-15
      • 1970-01-01
      • 2012-11-12
      • 1970-01-01
      • 2013-01-23
      • 2011-07-30
      • 2011-11-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多