我试着用importScripts
self.addEventListener('fetch', event => {
...
self.importScripts('idb.js');
...
}要为PWA的服务人员加载库,但要继续加载
DOMException: Failed to execute 'importScripts' on 'WorkerGlobalScope':
The script at 'http://localhost:3000/idb.js' failed to load.脚本文件在那里,内容类型是正确的,application/javascript,我也尝试过使用text/javascript。我的developer网络选项卡显示请求启动后很快就失败了,没有机会访问服务器。状态代码在http上是(failed) net::ERR_CONNECTION_REFUSED,(failed) net::ERR_FAILED在https上。感谢你的任何帮助
发布于 2019-08-13 17:39:59
根据https://developers.google.com/web/updates/2018/10/tweaks-to-addAll-importScripts
在Chrome 71之前,在安装处理程序之外异步调用importScripts()是可行的。从Chrome 71开始,这些调用会引发运行时异常(除非以前在安装处理程序中导入了相同的URL ),这与其他浏览器中的行为相匹配。
我必须将importScripts移动到我的文件或安装处理程序的顶层,它可以工作。
发布于 2019-08-13 16:40:06
根据您提供的链接,您没有在HTTPS下运行。您需要HTTPS下的站点才能使用服务工作者。
我原来的帖子错了。@kmanzana指出,本地主机被认为是“安全的来源”。
发布于 2022-10-03 23:18:52
另外,如果在您使用import的脚本中有一个importScripts()语句,您将得到这个错误,并且它不会立即弄清楚您为什么要得到它。请注意。
https://stackoverflow.com/questions/57481062
复制相似问题