Я уже видел много подобных вопросов к этому, но я уже внес изменения, которые они рекомендуют, и до сих пор не могу заставить его работать.У меня есть всплывающий скрипт, запущенный в моем расширении Chrome.В моем всплывающем HTML-файле есть кнопка, которая при нажатии запускает всплывающий скрипт.Этот скрипт отправляет сообщение в мой контент-скрипт, чтобы сделать что-то с сообщением.См. Код ниже:
манифест:
{
"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'",
"manifest_version": 2,
"version": "1.1",
"name": "Map automation",
"description": "do something",
"browser_action": {
"default_icon": "worldmap.png",
"default_popup": "popup.html"
},
"permissions": [ "tabs" ],
"content_scripts" : [
{
"matches": ["<all_urls>"],
"js": ["content.js"]
}
]
}
popup.js:
function popup() {
console.log("popup started")
chrome.tabs.query({currentWindow: true, active: true}, function (tabs){
var currentTab = tabs[0]
chrome.tabs.sendMessage(currentTab.id, {"message": "start"});
console.log("message sent to " + currentTab.url)
})
}
document.addEventListener("DOMContentLoaded", function() {
document.getElementById("mybutton").addEventListener("click", popup);
});
content.js:
chrome.runtime.onMessage.addListener(MessageReceived);
function MessageReceived (request, sender, sendResponse) {
console.log("message received")
if (request.message == "start") {
console.log("alert about to send")
alert("received message :)")
}
};
I'mполучить подтверждение журнала консоли, что мое сообщение отправляется на правильный URL-адрес, но сообщение не принимается и оповещение не появляется.Я не получаю никаких сообщений об ошибках.Что мне здесь не хватает?