浏览器: Firefox 58.0.2 (64位)
我正在尝试编写一个非常简单的服务人员,按照这里和这里的指导,将内容缓存到脱机模式。
当我第一次加载页面时,服务工作人员已正确安装。我可以通过查看about:debugging#workers来确认它正在运行。
但是,此时如果我试图刷新页面(无论是联机的还是脱机的),或者导航到站点中的任何其他页面,我会得到以下错误:
[https://[my](https://[my) url上的站点经历了无法修复的网络协议冲突。 由于检测到数据传输中的错误,无法显示要查看的页。 请与网站所有者联系,告知他们这个问题。
控制台显示此错误:
加载“[https://[my](https://[my)url]”失败。ServiceWorker将重定向响应传递给FetchEvent.respondWith(),而RedirectMode不是“跟随”。
在Chrome中,我知道:
Uncaught (承诺) TypeError:未能在“ServiceWorkerGlobalScope”上执行“fetch”:无法使用模式为“导航”和非空RequestInit的请求构造请求。
按照这条线,我在fetch()函数中添加了{ redirect:“跟随”}参数,但没有效果。
(是的,在进行更改后,我确实手动卸载了“关于:调试”页面中的服务工作人员。)
然而,据我所知,是响应而不是抓取导致了问题,对吗?这是由于我的服务器在服务请求的内容时发出重定向吗?
那么,如何处理服务人员的重定向呢?显然会有一些,我仍然想缓存这些数据。
发布于 2018-12-29 15:52:46
部分从https://superuser.com/a/1388762/84988分离出来
有时,我会在FreeBSD-CURRENT上使用Waterfox 56.2.6的Gmail出现问题。(Waterfox 56基于Firefox 56.0.2。)有时只是重新加载页面,有时是在恢复的会话中加载页面,依此类推。
FetchEvent.respondWith() _ MDN以警报开头:
这是一种实验技术…
乍一看,https://bugzilla.mozilla.org/buglist.cgi?quicksearch=FetchEvent.respondWith%28%29发现的两个bug是不相关的。
在整个互联网上,有大量的报告,从用户的Gmail与火狐,损坏的内容错误,网络协议违反等。找到:
https://stackoverflow.com/questions/50008332
复制相似问题