gpt4 book ai didi

google-chrome-extension - Service Worker 注册失败。 Chrome 扩展程序

转载 作者:行者123 更新时间:2023-12-03 16:29:42 24 4
gpt4 key购买 nike

我不明白如何在 Service Worker 的一部分中从 list v2 迁移到 v3。发生错误 Service worker registration failed

// manifest.json
"background": {
"service_worker": "/script/background/background.js"
},
// background.js
chrome.runtime.onInstalled.addListener(onInstalled);
enter image description here

最佳答案

请在下面找到您的特定问题的原因以及无法在控制台日志中获取失败详细信息的原因。

  • 在 Chrome 93 之前,service worker 文件必须在根路径
    manifest.json 在哪里。
    这是 Service Worker 规范的限制,对扩展有所放宽 since Chrome 93 .
    如果出于某种原因,您希望允许在旧版 Chrome 中使用您的扩展程序,则正确的 manifest.json 应如下所示:
    "background": {
    "service_worker": "background.js"
    },
    相反,要使用任意路径,您需要防止在旧版 Chrome 中安装:
    "minimum_chrome_version": "93",
    "background": {
    "service_worker": "js/bg/worker-loader.js",
    "type": "module"
    },
    输入 module是可选的,自 Chrome 92 起受支持。您现在可以静态导入 ES 模块。对动态导入的支持是 in development .
    在任何 Chrome 版本中,您都可以使用 importScripts('/path/foo.js', '/path/bar.js');从其他目录导入脚本。
  • 如果worker脚本在安装时抛出错误,worker将不会被注册并且您不会在控制台中收到您的服务工作人员触发的错误信息,而只会收到“服务工作人员注册失败”。此行为是由于错误 bug在 Chrome 93 之前的 Chrome 版本中。
    解决方案:
  • 使用 Chrome 93 或更新版本。

  • 有限的解决方法:
  • 如另一个答案或 use a "loader" script 所示,将所有内容包装在 try/catch 中.

  • 典型原因:
  • 访问未声明的变量
  • 语法错误,如未闭合的括号
  • 访问 chrome API 未在 manifest.json 的 permissions 中声明字段
  • 工作进程崩溃

  • 关于google-chrome-extension - Service Worker 注册失败。 Chrome 扩展程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66114920/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com