chrome.tabs.sendMessage :错误处理响应

bul*_*lly 5 google-chrome-extension

我试图在单击扩展图标时向content.jsfrom发送消息。background.js

Background.js:

chrome.browserAction.onClicked.addListener(function(){
   chrome.tabs.query({active : true, lastFocusedWindow : true}, function (tabs) {
      var CurrTab = tabs[0];
      chrome.tabs.sendMessage(CurrTab, 'run');
   })
})
Run Code Online (Sandbox Code Playgroud)

Content.js:

chrome.runtime.onMessage.addListener(function(){
   view();
})
Run Code Online (Sandbox Code Playgroud)

我有这个错误background.js,我不知道为什么。

Error handling response: TypeError: Error in invocation of
tabs.sendMessage(integer tabId, any message, optional object options,
optional function responseCallback): No matching signature.
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

nee*_*sht 4

在Background.js中更改以下内容:

chrome.tabs.sendMessage(CurrTab, 'run');
Run Code Online (Sandbox Code Playgroud)

chrome.tabs.sendMessage(CurrTab.id, 'run');
Run Code Online (Sandbox Code Playgroud)

正如 wOxxOm 在评论中所说。

其次,确保在 manifest.json 文件中,您已在 content_scripts/matches 标记中指定了网站的 url(需要注入内容脚本的位置)。