带有 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 (将#修改为@)