我在Chrome中有2个扩展程序,目前都只使用内容脚本。两个扩展都在websocket上侦听来自服务器的消息。他们也得到相同的信息"相同" (显然是最小的差异)时间。收到消息后,他们都会处理它,最后他们都有一个int数字的结果。
我想要做的是将此号码从分机A发送到分机B和分机。 A到分机B所以他们都有其他结果。
我真的试图谷歌解决这个问题,但我找不到任何解决方案。另外,我想避免将结果发送回服务器,然后再返回扩展程序。
有没有办法(最好只有JS)呢?
谢谢!
答案 0 :(得分:0)
此处已讨论过:Can Chrome extensions communicate with each other?
您可以使用此API:https://developer.chrome.com/extensions/messaging#external
chrome.runtime.sendMessage(otherExtensionId, {msg: 'hello'},
function(response) {
if (response.msg='hi')
chrome.runtime.sendMessage(otherExtensionId, {msg: 'how are you?'});
});
并在另一个扩展名中:
chrome.runtime.onMessageExternal.addListener(
function(request, sender, sendResponse) {
if (request.msg=='hello') {
sendResponse({msg: 'hi'});
}else ifif (request.msg=='how are you?'){
doSomething()
}
});
另外,对于其他通讯方式,您可以在页面内创建一个不可见的div,并让两个扩展程序不断检查其内容是否发生变化。