当没有网络可用时,我们希望在离线模式下提供几个屏幕。
我们想使用 HTML5 缓存功能,我们可以缓存一些 HTML 和 JS 文件,但是我们可以缓存主配置文件吗?
这是正确的方法吗?您能否建议正确的方法 wrt 种子框架。
在继续之前,请注意 HTML5 应用程序缓存似乎是目前已弃用的功能。也就是说,您可以将 HTML5 应用程序缓存与 SeedStack 一起使用,尽管加载应用程序所涉及的文件数量使其有点不切实际,因为此过程目前不是自动化的。
要使用 SeedStack Web 应用程序实现离线模式,您必须:
自定义母版页模板。默认模板不包含 manifest 属性,因此您必须将其替换为您自己的。您可以从类路径中查找masterpage.html
或masterpage-fallback.html
文件以用作起点。添加以下配置属性以指向您自己的母版页模板:
org.seedstack.w20.masterpage-template = path/to/my-masterpage.html
manifest
在您的母版页模板的标记上添加属性<html>
,指向 HTML5 appcache 清单:
<html manifest="my-app.appcache" ...>
将详尽的清单添加到您的应用程序 Web 资源中,例如 undersrc/main/webapp
或 under META-INF/resources
。
我的测试表明,对于刚刚生成的 Web 应用程序(使用业务主题),您需要在清单中添加 63 个 URL 才能使其工作。
为了简化清单维护,您可以选择通过删除标记data-w20-app-version
上的属性来禁用缓存清除机制<html>
。这将删除所有 URL 中的版本后缀。
在 IE/Edge 中,您必须小心一些限制或限制: