你如何兼顾appcache.manifest,manifest.json和serviceworkers?

时间:2017-07-08 15:56:52

标签: javascript android ios offline-caching progressive-web-apps

我是javascript开发的新手。我试图制作一款可在iOS和Android设备上脱机工作的应用。我在没有例子的情况下学习有困难,而且我没有找到能够满足我需要的例子。

这是我发现的;这可能是错的:

  • iOS需要appcache.manifest,需要加载它 语法:<html manifest = "appcache.manifest">

  • Android需要manifest.json,需要使用以下语法加载:<html manifest = "manifest.json">

  • 这些似乎是互相排斥的

  • Android也喜欢服务工作者。你可以同时拥有appcache.manifest和serviceworkers;见这:Application Cache and Service Workers

  • 以上讨论建议使用javascript处理appcache与serviceworker。我得到它如何处理appcache&amp; serviceworker但它没有解决包括manifest.json在内的问题。看起来html页面上脚本的推荐位置是在标签之后的某个位置,此时appcache.manifest(对于ios)和manifest.json(对于android)之间的决定看起来就像它已经需要一样。< / p>

你如何处理这一切?以下是一些可能引起我困惑的问题:

  1. 我需要一个适用于Android的manifest.json吗?或者这是由服务工作者取代的,这就是为什么我找到了涉及两种清单的零例子?

  2. 我是否遗漏了一些关于操作顺序的内容,这些内容允许我以编程方式在appcache.manifest和manifest.json之间进行选择?

  3. 我缺少一种更有效的方法吗?

1 个答案:

答案 0 :(得分:0)

您可以同时参考两者。请记住,渐进式网络应用程序是“渐进增强”#39;如果有服务工作者,那么通过规范,appCache将被忽略,服务工作者将用于缓存/脱机。 Web清单文件包含浏览器/平台将用于创建主题体验的元数据,并选择主屏幕的图标。与appCache的上下文不同。

渐进式Web应用程序也不是特定于Android的东西。除Apple Safari外,所有浏览器均支持它们。