我正在尝试在两个 Chrome 扩展程序之间进行通信,但无法执行此操作。
任何帮助都会很好地解决此问题。
第一个扩展在background.js中发送消息:
chrome.browserAction.onClicked.addListener(
function(tab)
{
chrome.runtime.onConnect.addListener(function(port)
{
port.postMessage({status:"hello"});
});
第二个扩展在background.js中接收消息:
var port = chrome.runtime.connect({name: "lkddmaimhocofkfhngkdhdicmldnfdpn"});
port.onMessage.addListener(function(message,sender)
{
alert('listened bg');
});
最佳答案
看来您对发送部分和接收部分感到困惑。
此外,onConnect 之间也存在一些差异。
which fires when a connection is made from either an extension process or a content script,
which fires when a connection is made from another extension.
看看Message External您可以使用以下示例代码在两个扩展之间进行通信。
第一个扩展在background.js中发送消息:
chrome.browserAction.onClicked.addListener(function() {
var port = chrome.runtime.connect("lkddmaimhocofkfhngkdhdicmldnfdpn");
port.postMessage(...);
});
第二个扩展在background.js中接收消息:
chrome.runtime.onConnectExternal.addListener(function(port) {
port.onMessage.addListener(function(msg) {
// Handle your msg
});
});
关于google-chrome-extension - 两个 Chrome 扩展程序之间的通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35910446/