Отправить сообщение из всплывающего сценария в расширение содержимого Chrome. - PullRequest
0 голосов
/ 30 ноября 2018

Я уже видел много подобных вопросов к этому, но я уже внес изменения, которые они рекомендуют, и до сих пор не могу заставить его работать.У меня есть всплывающий скрипт, запущенный в моем расширении 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-адрес, но сообщение не принимается и оповещение не появляется.Я не получаю никаких сообщений об ошибках.Что мне здесь не хватает?

...