iOS Service Worker 处理请求的方式与 Chrome/FF 不同吗?

问题描述 投票:0回答:1

我正在向现有 Web 应用程序添加渐进式 Web 应用程序功能,并遇到了一个奇怪的边缘情况。在这个场景中,我实现了一些非常标准的 API 端点缓存等,但绕过了其他端点上的缓存。

在我绕过的这些端点之一上,我正在启动/检索一个视频流,该视频流只是通过服务工作人员,但它在 iOS safari(最新)上不起作用,但在各种其他设备上的其他浏览器上运行良好。

如果我禁用 Service Worker,它在 iOS 上工作正常。该错误相当不伦不类,但到目前为止,我的研究使我相信可能存在一些潜在的跨源问题,或者由于某种原因形成了错误的标头。这可能是一个潜在的服务器端问题,这让生活变得有点棘手,因为我无权访问内容存储,该内容存储是单独为主后端提供服务的。

此问题与视频格式 GET 请求无关,其他文件类型和一般 API 调用均按预期工作。

如果有人能给我建议或给我一些关于 safari+iOS 如何处理这个问题的文献/文档,我将不胜感激。

ios safari mobile-safari service-worker progressive-web-apps
1个回答
0
投票

您遇到的可能是 WebKit- Service Worker bug.. 尝试使用 polifil,例如 this(如果它符合您的格式)。

或者可能是因为响应的方式。 尝试获取字节范围以防止 Safari 拒绝响应处理。

这是另一篇文章解释范围问题。

© www.soinside.com 2019 - 2024. All rights reserved.