微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

HTML5离线清单停止缓存页面已被声明

我一直在使用缓存清单文件,并试图让它停止缓存它被声明的页面.

HTML5 Rocks

any page the user navigates to that include a manifest will be implicitly added to the application cache

高手.我想要清单文件缓存特定的工件,其中之一是我的在线单页应用程序HTML的脱机版本,但不缓存在线版本.

解决方法

这是我如何解决问题.我的清单文件
CACHE MANIFEST
# Version 0.1

CACHE:
# Minimised Styles
/css/style.0.1.min.css

# Minimised JavaScript
/js/script.0.1.min.js

FALLBACK:
/ /offline.html

NETWORK:
*

注意到离线时,mydomain.com/的所有内容现在将转到/offline.html(从缓存)

现在,如何仅缓存清单文件中的内容,而不必在mydomain.com/中包含在线页面.

将以下iframe放在页面底部的mydomain.com/

<iframe src="/offline.html" style="display: none;"></iframe>

并将offline =“myapp.appcache”放在offline.html中.

这意味着当mydomain.com/加载时,它将不会被缓存(因为页面上没有清单属性).然后,浏览器将通过iframe获取offline.html,并且您需要使用清单文件中的说明(包括offline.html页面)添加了您希望缓存的所有其他内容,因为存在HTML属性.

我可以看到的唯一的开销是在第一页加载,iframe会产生一个额外的HTTP请求,但一旦缓存,它将从缓存中获取,所以不是一个巨大的问题.

原文地址:https://www.jb51.cc/html5/168709.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。