contents.jsからbackground.jsにメッセージを渡す方法 / Chrome extension

 

{{DZ_TITLE}}
contents.jsからbackground.jsにメッセージを渡す方法

contents.jsからbackground.jsにデータを渡す

background.js

待ち受けのListiner

chrome.runtime.onMessage.addListener(
  function (request, sender, sendResponse) {
    switch (request.type) {
    case "Message1":
      if(request.text === "Message text"){
        myFunction();
      }
      break;
    default:
      console.log("Error: Unkown request.")
      console.log(request);
    }
    sendResponse({response: "listeher is successful"});
  }
);

contents.js

chrome.runtime.sendMessage({
 type: "Message1",
 text: "Message text"
},
function (response) {
  if (response) {
      alert(response);
  }
});

Unchecked runtime.lastError: The message port closed before a response was received.

chrome.runtime.sendMessageからメッセージを受け取った後に
sendResponseで値を返す必要があるが、値を返し忘れている場合に発生するトラブル。
大きなトラブルになった話は聞かないが、極力修正しておくべき内容。
大手メーカのextentionでも、このミスは結構あるようですが…。

関連

Tag : Java Script
Tag : JQuery

おすすめ記事

eTrex 10JのGPSログをPythonで効率的に保存する
eTrex 10JのGPSログをPythonで効率的に保存する
Django テンプレート 使用 #4 URL
Django テンプレート 使用 #4 URL
国土地理院 標高タイル テキスト版を使って、ディズニーシーのプロメテウス火山を可視化
国土地理院 標高タイル テキスト版を使って、ディズニーシーのプロメテウス火山を可視化
Django Ajaxで非同期通信
Django Ajaxで非同期通信
Pandas徹底解説 - Python
Pandas徹底解説 - Python
PythonでSeleniumでスクレイピング時にClickでElementClickInterceptedException例外で失敗する。
PythonでSeleniumでスクレイピング時にClickでElementClickInterceptedException例外で失敗する。
Supponsered

外部サイト
↓プログラムを学んでみたい場合、学習コースなどもおすすめです!

Comments

comments powered by Disqus