chrome .tabs.sendMessage: Ошибка обработки ответа - PullRequest
0 голосов
/ 05 февраля 2020

Я пытаюсь отправить сообщение на content.js с 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');
   })
})

Content.js:

chrome.runtime.onMessage.addListener(function(){
   view();
})

У меня есть эта ошибка в 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.

Что я делаю не так?

1 Ответ

0 голосов
/ 06 февраля 2020

В фоновом режиме. js измените следующее:

chrome.tabs.sendMessage(CurrTab, 'run');

на

chrome.tabs.sendMessage(CurrTab.id, 'run');

Как сказано wOxxOm в комментариях.

Во-вторых, убедитесь, что в файле manifest. json вы указали URL-адрес веб-сайта (в который необходимо вставить скрипт содержимого) в теге content_scripts / match.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...