Каков правильный способ отправки сообщения (и получения ответа) на background.js из popup.js в расширении Chrome? Каждый метод, который я пытаюсь, заканчивается ошибкой, которая:Отправка сообщения из popup.js в расширение Chrome на background.js
«Порт: Не удалось установить соединение. Точка приема не существует».
Я бы предпочел использовать chrome.extension.sendMessage() над chrome.extension.connect() с port.postMessage(), но ни один из методов, похоже, не сработал.
То, что я пытаюсь сделать, это подключить кнопку в popup.html для вызова в javascript в popup.js, который обращается к background.js, чтобы получить информацию о currentTab(), которая была topMost (то есть: чтобы получить текущую строку URL, чтобы показать в popup.html)
Сейчас в popup.js (подключен к действию кнопки) Я:
function getURL()
{
chrome.extension.sendMessage({greeting: "GetURL"},
function(response) { tabURL = response.navURL });
$("#tabURL").text(tabURL);
}
в фоне .js У меня есть:
chrome.extension.onMessage.addListener(function(request,sender,sendResponse)
{
if(request.greeting == "GetURL")
{
var tabURL = "Not set yet";
chrome.tabs.getCurrent(function(tab){
tabURL = tab.url;
});
sendResponse({navURL:tabURL});
}
}
Любые идеи?
увидеть этот ответ на https://stackoverflow.com/questions/13546778/how-to-communicate-between-popup-js-and-background-js-in-chrome-extension/47545616#47545616 – JerryGoyal