8

问题

从 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,但我以某种方式在代码中错误地实现了它,那就是另一个特定的帖子。

4

1 回答 1

3

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

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

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

于 2019-10-09T12:15:38.723 回答