如何配置Seedstack应用程序在脱机模式下工作?

时间:2016-10-17 11:16:56

标签: offline seedstack

我们希望在没有网络的情况下在离线模式下提供少量屏幕。

我们想使用HTML5缓存功能,我们可以缓存几个HTML和JS文件,但是我们可以缓存主配置文件吗?

这是正确的做法吗?能否请你提出正确的方法w.r.t种子框架。

1 个答案:

答案 0 :(得分:0)

在进一步说明之前,请注意HTML5应用程序缓存似乎是一项功能currently deprecated。也就是说,你可以使用带有SeedStack的HTML5应用程序缓存,尽管加载应用程序所涉及的文件数量有点不切实际,因为这个过程目前还没有自动化。

要使用SeedStack Web应用程序实现离线模式,您必须:

  • 自定义母版页模板。默认模板不包含清单属性,因此您必须将其替换为您自己的模板。您可以从类路径中查找masterpage.htmlmasterpage-fallback.html文件以用作起点。添加以下配置属性以指向您自己的母版页模板:

    org.seedstack.w20.masterpage-template = path/to/my-masterpage.html
    
  • 在主页模板的manifest标记上添加<html>属性,指向HTML5 appcache清单:

    <html manifest="my-app.appcache" ...>
    
  • 向您的应用网络资源添加详尽的清单,例如src/main/webapp下或META-INF/resources下。

我的测试表明,对于刚刚生成的Web应用程序(使用业务主题),您需要添加63 URLs to your manifest才能使其正常工作。

为了简化清单维护,您可以通过删除data-w20-app-version标记上的<html>属性来选择禁用缓存清除机制。这将删除所有URL中的版本后缀。

在IE / Edge中,您必须小心某些限制或限制:

  • 缓存条目有多个限制(IE10中有1000个,在较新版本中不知道)。
  • 是基于客户端计算机卷大小的整个缓存的大小限制。
  • 清单必须与text / cache-manifest mime类型一起提供。
  • 必须使用no-store cache选项不提供任何资源。

有关Edge的更多信息:https://developer.microsoft.com/en-us/microsoft-edge/platform/documentation/dev-guide/networking-and-connectivity/application-cache/