我最近将 Cloudfront 添加到我的网络应用程序中。我正在使用 WorkBox 服务工作者并收到错误:
<块引用>VM7 workbox-strategies.prod.js:1 Uncaught (in promise) TypeError: Failed to fetch
我从 this SO post 中发现,查看网络标签以找出导致问题的资源。
我检查并发现 - 它正在尝试加载我自己的域!
域在浏览器中加载得很好。为什么 Service Worker 会抛出这个 fetch 错误?
答案 0 :(得分:2)
您看到的是 Chrome 89+ 中的 new offline support detection。
如果您的网站有网络应用清单和 Service Worker,Chrome 会自动模拟离线连接,然后向您的网络应用清单中列出的 start_url
发出请求。
如果您的 Service Worker 使用网络优先策略来响应导航请求,那么网络面板中可能会记录一个失败的网络请求,即使由于来自缓存的响应检查最终成功。
(Chrome DevTools 团队意识到这可能有点令人困惑,并且正在努力改进向开发人员报告的方式。)