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

前端之家收集整理的这篇文章主要介绍了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请求,但一旦缓存,它将从缓存中获取,所以不是一个巨大的问题.

猜你在找的HTML5相关文章