微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

带有 webextension-polyfill 的浏览器扩展清单 v3 不允许 browser.browserAction.onClicked在 Chrome 上

如何解决带有 webextension-polyfill 的浏览器扩展清单 v3 不允许 browser.browserAction.onClicked在 Chrome 上

我正在构建浏览器扩展程序。我想在用户单击扩展程序图标时触发通知。当我尝试在 Chrome 中加载扩展程序时,出现此错误Service Worker 注册失败

enter image description here

作为错误的来源,它在清单中突出显示了“background.js”(您可以在下面找到)。没有提供进一步的信息。但是,只有当我在 background.ts 中有第一个片段时才会出现问题,如注释所示:

import { browser } from "webextension-polyfill-ts";

// This code prevents the compiled extension to be loaded into Chrome
browser.browserAction.onClicked.addListener(() => {
  console.log('browserAction.onClicked');
});

// I also have this code in the file,which works just fine.
browser.runtime.onMessage.addListener(() => {
  console.log('browser.runtime.onMessage');
});

(注意这里当然是编译成Javascript)

当然,我怀疑是权限问题,但没有发现任何可疑之处。这是完整的清单:

{
  "name": "Test","description": "Test","version": "0.0.1","manifest_version": 3,"permissions": ["storage","activeTab","scripting"],"background": {
    "service_worker": "background.js"
  },"action": {
    "default_title": "Click to show an alert"
  },"content_scripts": [
    {
      "matches": [
        "<all_urls>"
      ],"js": [
        "js/content-script.js"
      ]
    }
  ],"content_security_policy": {}
}

有什么想法吗?谢谢!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。