chrome 扩展:未捕获类型错误:无法读取未定义的属性(读取“onClicked”)

13 javascript google-chrome google-chrome-extension

我一直在创建一个 chrome 扩展,它应该在扩展单击时在特定选项卡上运行特定脚本(index.js)。

service_worker.js

// action on extension click
chrome.browserAction.onClicked.addListener(function (tab) {
    chrome.tabs.executeScript({
        tabId: tab.id,
    }, { file: "index.js" });

});
Run Code Online (Sandbox Code Playgroud)

我也尝试过

chrome.action......
Run Code Online (Sandbox Code Playgroud)

和

browser....
Run Code Online (Sandbox Code Playgroud)

但没有任何效果,我正在使用清单 v3。

清单.json

chrome.action......
Run Code Online (Sandbox Code Playgroud)

我的index.js 文件是

console.log("Hello world")
Run Code Online (Sandbox Code Playgroud)

我收到错误 在此输入图像描述

如果我错了请纠正我

Moh*_*aji 22

清单 v3:

\n

您需要在清单文件中添加操作:

\n
{\n   "action": { }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

然后你可以这样调用它:

\n
chrome.action.onClicked.addListener(tab => { \xe2\x80\xa6 });\n
Run Code Online (Sandbox Code Playgroud)\n

文档:https://developer.chrome.com/docs/extensions/reference/action/#injecting-a-content-script-on-click

\n
\n

清单 v2:

\n
\n

必须在清单中声明以下键才能使用此 API。

\n

browser_action

\n
\n

文档:\n https://developer.chrome.com/docs/extensions/reference/browserAction/

\n