Я прочитал о библиотеке от Роба в его ответе здесь, что мне и нужно.
Я создаю значок, используя его библиотеку:
var badge = require("browserAction").BrowserAction({
default_icon: data.url("images/icon19.png"),
default_title: "MyAddon",
default_popup: data.url("pages/popup.html")
});
Всплывающее окно свяжется с основным через его протокол обмена сообщениями и будет отправлять функцию обратного вызова. Поэтому я открываю канал сообщений в main.js:
const { createMessageChannel } = require('messaging');
var options = {channelName:"PopUpMessageChannel", endAtPage: false};
var extension = createMessageChannel(options, badge.port);
extension.onMessage.addListener(function(message, sender, sendResponse) {
if (message === 'test') {
sendResponse("Test recieved");
}
});
Мой вопрос: какой порт мне нужно использовать в createMessageChannel(options, **HERE**)
?
Я всегда получаю сообщение об ошибке port is undefined
при использовании badge.port
или self.port
.