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