我正在尝试在两个Chrome扩展程序之间进行通信,但无法这样做。
任何帮助都可以解决这个问题。
在background.js中发送msg的第一个扩展名:
chrome.browserAction.onClicked.addListener(
function(tab)
{
chrome.runtime.onConnect.addListener(function(port)
{
port.postMessage({status:"hello"});
});
在background.js中接收msg的第二个扩展名:
var port = chrome.runtime.connect({name: "lkddmaimhocofkfhngkdhdicmldnfdpn"});
port.onMessage.addListener(function(message,sender)
{
alert('listened bg');
});
答案 0 :(得分:2)
您似乎对发送部件和接收部件感到困惑。
此外,onConnect
之间存在一些差异在从扩展进程或内容脚本建立连接时触发,
在从另一个分机建立连接时触发。
查看Message External,您可以使用以下示例代码在两个扩展程序之间进行通信。
在background.js中发送msg的第一个扩展名:
chrome.browserAction.onClicked.addListener(function() {
var port = chrome.runtime.connect("lkddmaimhocofkfhngkdhdicmldnfdpn");
port.postMessage(...);
});
在background.js中接收msg的第二个扩展名:
chrome.runtime.onConnectExternal.addListener(function(port) {
port.onMessage.addListener(function(msg) {
// Handle your msg
});
});