タイトルの通り、Google Chrome拡張機能APIで、popup.jsからbackground.jsやeventPages.jsになんらかのメッセージを通知したいときに利用する。
たとえば、popup.jsでstorageのデータを上書きして、それをbackground.js/eventPages.jsで読み込みなおしたいときなど。
ソースコード
background.js/eventPages.js
chrome.extension.onConnect.addListener(function(port) {
port.onMessage.addListener(function(msg) {
console.log('Received from popup : ' + msg);
if (msg == 'MESSAGE_YOU_NEED') {
port.postMessage("Hi Popup.js");
}
});
});
popup.js
function postMessageToBackground(msg) {
var port = chrome.extension.connect({ name: "Background" });
port.postMessage(msg);
port.onMessage.addListener(function(msg) {
console.log('Received from event page : ' + msg);
});
}