Chrome 打包应用程序和 Chrome 扩展程序之间的通信?

IT技术 javascript google-chrome google-chrome-extension google-chrome-app
2021-02-16 08:48:31

我需要将仅在 Chrome 打包应用程序中可用的功能(访问 syncFileSystem)和仅在 Chrome 扩展程序中可用的功能(将脚本注入第 3 方网站)结合起来。

似乎打包的应用程序和扩展程序都不能同时实现这两个功能,所以我现在正在考虑尝试通过单独的打包应用程序和扩展程序通信来实现我所追求的目标。

我看到Chrome 的文档解释了两个扩展程序如何通过chrome.runtime.onMessageExternal.addListener进行通信chrome.runtime.sendMessage,但没有关于打包应用程序和扩展程序的通信。

有谁知道这是否允许?是否有任何文档或工作示例?

1个回答

是的,这是可能的。您链接的文档中的代码示例适用于应用程序和扩展程序的任意组合。

的扩展文档chrome.runtime.sendMessage说:

onMessage向扩展程序(或另一个扩展程序/应用程序内的事件侦听器发送一条消息

消息传递在扩展程序和应用程序中的工作方式相同,而且它们似乎完全兼容;只需使用目标扩展程序或应用程序的 ID。如果您查看 的应用程序版本chrome.runtime.sendMessage的文档,您会发现它与扩展版本相同。

@mangini 的链接不再有效,但您可以尝试:https : //github.com/GoogleChrome/chrome-app-samples/tree/master/samples/messaging
2021-05-03 08:48:31
@apsillers,不是让用户同时安装应用程序和扩展程序,而是将它们组合成一个单元,以便用户只进行一个安装操作?
2021-05-06 08:48:31
很高兴看到您最终如何将应用程序和扩展程序捆绑在一起。理想情况下,我希望能够一键安装它们,但会接受从两者之一到另一个的某种追加销售。并且检测应用程序是否安装需要它处于后台权限模式吗?
2021-05-12 08:48:31