使Chrome应用与Chrome扩展程序互动

时间:2017-07-25 22:28:01

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

我的问题非常像Proper way to listen as TCP server in Chrome extension

但问题是上面的问题没有得到妥善回答,问题仍然存在。

那么,有没有办法让Chrome应用与Chrome扩展程序进行互动。目的很像上面提到的问题,简历是用于构建TCP服务器和管理标签网页中的内容。

据我所知,由于Chrome应用无法访问网页内容,因此Chrome浏览器不允许使用套接字。

所以欢迎任何想法。提前谢谢。

1 个答案:

答案 0 :(得分:1)

尽管被称为"cross-extension messaging",但它可以在扩展程序和应用程序之间运行。

据推测,你需要长期的联系;然后你可以使用:

// In one app/extension that initiates the connection
// (Probably the app upon a new client connecting)
var port = chrome.runtime.connect(secondID);

// In other app/extension
chrome.runtime.onConnectExternal.addListener(function(port) {
  port.onMessage.addListener(function(msg) {
    // See other examples for sample onMessage handlers.
  });
});

请记住,您要确保连接来自您信任的内容。虽然不完美的防御,你应该检查发起人的扩展名/应用程序ID - 无论是在你的代码中还是用externally_connectable清单键过滤掉其余部分(默认是允许的)。