javascript - Chrome.runtime.onMessage doesn't work -


i building chrome.extension.

in it, have button in popup.html (that appears in top-right toolbar). popup.html file linked htmljs.js file has following code:

(function(){     window.onload = init;      function init(){         if (!chrome.runtime) {             // chrome 20-21             chrome.runtime = chrome.extension;         } else if(!chrome.runtime.onmessage) {             // chrome 22-25             chrome.runtime.onmessage = chrome.extension.onmessage;             chrome.runtime.sendmessage = chrome.extension.sendmessage;             chrome.runtime.onconnect = chrome.extension.onconnect;             chrome.runtime.connect = chrome.extension.connect;         }          button.onclick = function(){              console.log("working onclick!"); // working!              // send message content script             chrome.runtime.sendmessage(["testing"]);          }     } })(); 

and popup.js (that operates on web pages stackoverflow, called content-script), has following code:

 (function () {      window.onload = init;       function init() {          if (!chrome.runtime) {              // chrome 20-21              chrome.runtime = chrome.extension;          } else if (!chrome.runtime.onmessage) {              // chrome 22-25              chrome.runtime.onmessage = chrome.extension.onmessage;              chrome.runtime.sendmessage = chrome.extension.sendmessage;              chrome.runtime.onconnect = chrome.extension.onconnect;              chrome.runtime.connect = chrome.extension.connect;          }           // when receiving message html popup.html          chrome.runtime.onmessage.addlistener(function (message, messagesender, sendreponse) {              // sender messagesender: https://developer.chrome.com/extensions/runtime#type-messagesender              // function sendresponse: needed send response, not needed in current context (?)               console.log(message); // not work              console.log("w"); // not work              alert("w"); // not work              sendreponse(); // not work               return true;          });      }  })(); 

i have both consoles open (the stackoverflow webpage's , popup.html's), , console.log("working onclick!"); works. appears message not @ received content-script.

here's manifest.json if matters.

update:

using accepted answer, needed:

// active tab, , send id along message using tabs.sendmessage chrome.tabs.query({active:true}, function(tabs){     // send message content script     chrome.tabs.sendmessage(tabs[0].id, ["testing"]);                }); 

to send message content script, need use chrome.tabs.sendmessage.


Comments

Popular posts from this blog

java - Intellij Synchronizing output directories .. -

git - Initial Commit: "fatal: could not create leading directories of ..." -