Chrome拡張機能のPopupとBackground/Event Pagesで情報をやりとりする

タイトルの通り、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);
  });
}

参考

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です