Chrome扩展程序通信(内容脚本)

时间:2014-07-27 19:19:17

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

我在Chrome中有2个扩展程序,目前都只使用内容脚本。两个扩展都在websocket上侦听来自服务器的消息。他们也得到相同的信息"相同" (显然是最小的差异)时间。收到消息后,他们都会处理它,最后他们都有一个int数字的结果。

我想要做的是将此号码从分机A发送到分机B和分机。 A到分机B所以他们都有其他结果。

我真的试图谷歌解决这个问题,但我找不到任何解决方案。另外,我想避免将结果发送回服务器,然后再返回扩展程序。

有没有办法(最好只有JS)呢?

谢谢!

1 个答案:

答案 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,并让两个扩展程序不断检查其内容是否发生变化。