У меня есть расширение chrome, и я пытаюсь отправить значения с веб-сайтов на расширение с помощью chrome .runtime.sendMessage (). Дело в том, что я должен сделать это со стороны Go, используя Gopher. js. Я построил подобный пример здесь https://gopherjs.github.io/playground/# / - 9C5IHFkMN
Но, когда я пытаюсь отправить сообщение, ничего не происходит на стороне расширения, а именно слушатель в фоновом режиме. js не срабатывает (с или без sendResponse). Я вижу тот же эффект, когда запускаю chrome .runtime.sendMessage на консоли со следующим. Когда я выполняю сценарий содержимого, который отправляет сообщение, запускается фоновый прослушиватель. Мне интересно, что я делаю неправильно.
Это то, что я запускаю на консоли:
chrome.runtime.sendMessage(extension_id, "hello")
Это фон. js
chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
console.log("new message", request);
sendResponse({ message: "Background has received that message ?" });
});
Это Манифест. json в расширении:
{
"manifest_version": 2,
"name": "Name",
"description": "This is a chrome extension",
"version": "1.0",
"background": {
"scripts" : ["wasm_exec.js", "background.js" ],
"persistent": true,
"matches": ["http://*/*", "https://*/*"]
},
"permissions": [
"tabs",
"background",
"<all_urls>",
"activeTab",
"webRequest",
"webRequestBlocking",
"contentSettings",
"browsingData",
"storage"
],
"content_security_policy": "script-src 'self' 'unsafe-eval' https://rawgit.com/caolan/async/master/dist/async.min.js https://code.jquery.com/jquery-3.3.1.slim.min.js ; object-src 'self'; "
}