将消息从内容脚本发送到另一个

时间:2017-11-15 17:14:56

标签: javascript google-chrome google-chrome-extension

我正在开发Google Chrome扩展程序。我的目的是从我的script1.js发送消息到script2.js。这是我在manifest.json中写的内容

SELECT

以下是我在script1.js中写的内容:

  

chrome.runtime.sendMessage(' hello world !!!!!!');

并在script2.js中:

  

chrome.runtime.onMessage.addListener(功能(响应,发件人,sendResponse){

     

警报(响应);

     

});

我不认为我是以写作的方式做的,我想我已经使用了background.js,但我不知道怎么做。

非常感谢。

1 个答案:

答案 0 :(得分:3)

正如您所说,您必须使用后台脚本。例如:

SCRIPT1:

chrome.runtime.sendMessage({from:"script1",message:"hello!"});

background.js

var tab2id;
chrome.runtime.onMessage.addListener(function(message, sender, sendResponse) {
    if (message.from == "script2") {
        tab2id = sender.tab.id;
    }
    if (message.from == "script1"){
        chrome.tabs.sendMessage(tab2id,message);
    }
});

script2.js

chrome.runtime.onMessage.addListener(function(message, sender, sendResponse) {
    alert("Script1 says: " + message.message);
});
chrome.runtime.sendMessage({from:"script2"});

请记住将您的后台脚本包含在清单中:

"background": {
    "scripts": ["background.js"]
}