在 IOS 上的 Safari/Chrome 中无法使用 Cache-API,对吗?

Kje*_*sen 8 javascript mobile-safari ios service-worker cacheapi

从 IOS 13.1 开始,我可以或不能在 Safari 或 Chrome 中的 IOS 上将缓存 API 与服务工作者一起使用吗?

背景

我有一个网络应用程序,可以离线使用。

我用:

Chrome 开发工具截图

适用于 Windows/Android 上的 Chrome

按预期工作。

在 IOS 上离线时不起作用

但是,在 IOS (13.1+) 上,如果您尝试在离线时刷新(在浏览器中单击刷新)一个 html 文件,缓存似乎不起作用(您会收到标准页面未找到错误)。这适用于 Chrome 和 Safari。

关于在 IOS Safari 上缓存 API 的混淆信息

根据CanIUse,最新的 Safari 不支持缓存 API,这可以解释这种行为。我无法找到有关 Chrome for IOS 支持缓存的信息,但我猜它不受支持,如果不在 Safari 中。

我发现有几个 消息来源说 IOS Safari 支持缓存 API,所以我很困惑。

再次提问

从 IOS 13.1 开始,我可以或不能在 Safari 或 Chrome 中的 IOS 上将缓存 API 与服务工作者一起使用吗?

我故意不包含任何代码示例,因为问题很普遍,取决于 IOS Safari/Chrome 是否支持该功能。如果可以使用缓存 api,但我以某种方式在代码中错误地实现了它,那就是另一个特定的帖子。

özk*_*dil 3

根据https://developer.mozilla.org/en-US/docs/Web/API/Cache#Browser_compatibility ,cacheapi 应该在桌面 safari 中受支持,而不是在移动设备中受支持。我发现这篇文章https://webkit.org/blog/8090/workers-at-your-service/检查底部,他们正在等待您的反馈:)

对于 Chrome,根据https://chromestatus.com/feature/6461631328419840它应该可以工作。您可以找到谁负责 Chrome 中的缓存 api,并从该页面提交错误。

总的来说,我应该说缓存 api 看起来不太常用。因为关于该主题的详细帖子并不多。