Я пытаюсь отправить сообщение из всплывающего окна с расширением chrome в скрипт содержимого страницы, но слушатель не принимает отправленные сообщения.
popup.js
chrome.runtime.sendMessage({ greeting: "hello" })
main.js (скрипт содержимого, часть DOM)
Слушатель не принимает отправленные сообщения:
chrome.runtime.onMessage.addListener(function (request) {
console.log("message received")
if (request.greeting == "hello") {
console.log("hello message")
}
})
manifest.json
{
"manifest_version": 3,
"name": "Go Go Ninja Computers",
"version": "0.54",
"description": "This extension is trying to send a message.",
"background": {
"scripts": [
"background.js"
],
"persistent": false
},
"permissions": [
"storage"
],
"content_scripts":
[
{
"matches": ["*://*/*"],
"js": ["main.js"],
"css" : ["style.css"],
"run_at": "document_end"
}
],
"browser_action": {
"default_title": "Ninja Pirate",
"default_popup": "popup.html"
}
}
Я просто следую этим основным инструкциям , так что я совершенно сбит с толку, почему это не работает? Я также не уверен, нужно ли включать background.js, но без него я не могу использовать console.log в popup.js.