首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >离线缓存(HTML5)

离线缓存(HTML5)
EN

Stack Overflow用户
提问于 2015-03-04 13:57:47
回答 1查看 34关注 0票数 0

使用HTML 5离线缓存方法从服务器更新缓存信息遇到了一些困难。

以下是步骤列表,

1-创建了一个包含以下条目的cache.manifest文件

代码语言:javascript
复制
   CACHE MANIFEST 
   # Version 1.0
   CACHE:
   /loading.js
   /images/pan-icon.png
   NETWORK:
   *

然后我开玩笑地添加以下事件绑定程序,从服务器加载更新的信息

代码语言:javascript
复制
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应用程序。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-04 14:08:52

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

来自MDN (cache)的gotchas部分

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28856327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档