服务工作者的WKWebView模拟

时间:2019-03-12 10:33:28

标签: ios caching service-worker wkwebview progressive-web-apps

我正在尝试使用PWA方法实现应用程序的一部分,该方法在Android上可以正常使用,但不适用于iOS。我们需要拥有

  • 离线内容的可用性
  • 用于动态更新内容的选项(例如特价商品等)。通过服务人员,我们会提示您更新Web内容。

如前所述,WKWebView(或UIWebView)不支持here服务工作者。那么,是否存在模拟或替代解决方案,例如智能缓存控制?

似乎可以从应用程序中存储一些Web内容,并且在发生某些更改时能够对其进行更新。为此可能已经有一个framework/library/approach了吗?

编辑 Service Workers unavailable in WKWebView in iOS 11.3-此问题解释了WKWebView中ServiceWorkers的状态,但没有其他选择。我想讨论任何其他解决方案。

我发现的一件事是https://github.com/xtools-at/iOS-PWA-Wrapper。看起来好像是基于AppCache进行工作,但是https://developer.mozilla.org/en-US/docs/Web/HTML/Using_the_application_cache#Browser_compatibility说它已被弃用,建议使用SW(对于PWA而言不是一种选择)。

1 个答案:

答案 0 :(得分:1)

因此,在WKWebView让服务工作者工作之前,您可以使用AppCache(尚未完全弃用)。 您可以使用this并查看位于https://leasingrechnen.at的源页面 他们做什么?如果浏览器中没有服务工作者,则他们会加载指向实现了manifest.appcache文件的页面的iframe,因此该页面将被缓存。