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

我正在开发一个谷歌浏览器扩展。 我的目的是将消息从我的script1.js发送到script2.js。 这是我在我的manifest.json中写的

  {
    "matches": ["https://www.google.fr/"],
    "css": ["styles.css"],
    "js": ["script1.js"]

  },
  {
    "matches": ["my_website.html"],
    "css": ["styles.css"],
    "js": ["script2.js"]

  },

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

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

并在script2.js中:

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

警报(响应);

});

我不认为我是这样写的,我想我必须使用background.js,但我不知道如何。

首先十分感谢。


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

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"]
}
链接地址: http://www.djcxy.com/p/91165.html

上一篇: Send message from content script to another

下一篇: Chrome extension message being passed as object