Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Chrome打包应用程序和Chrome扩展之间通信?_Javascript_Google Chrome_Google Chrome Extension_Google Chrome App - Fatal编程技术网

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

Javascript 在Chrome打包应用程序和Chrome扩展之间通信?,javascript,google-chrome,google-chrome-extension,google-chrome-app,Javascript,Google Chrome,Google Chrome Extension,Google Chrome App,我需要将仅在Chrome打包应用程序中可用的功能(访问syncFileSystem)和仅在Chrome扩展中可用的功能(将脚本注入第三方网站)结合起来 似乎一个打包的应用程序和一个扩展程序都不能同时实现这两个目标,所以我现在正在考虑用一个单独的打包应用程序和扩展程序来实现我想要的目标 我明白了,这解释了两个扩展如何通过chrome.runtime.onMessageExternal.addListener和chrome.runtime.sendMessage进行通信,但与打包应用和扩展通信无关

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

似乎一个打包的应用程序和一个扩展程序都不能同时实现这两个目标,所以我现在正在考虑用一个单独的打包应用程序和扩展程序来实现我想要的目标

我明白了,这解释了两个扩展如何通过
chrome.runtime.onMessageExternal.addListener
chrome.runtime.sendMessage
进行通信,但与打包应用和扩展通信无关

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


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

的扩展文档说明:

将单个消息发送到扩展(或其他扩展/app)中的
onMessage
事件侦听器


消息传递在扩展和应用程序中都是一样的,而且它们似乎完全兼容;只需使用目标扩展或应用程序的ID即可。如果您查看应用程序的文档,您会发现它与扩展版本完全相同。

如果您最终能够将应用程序和扩展捆绑在一起,那将是一件非常棒的事情。理想情况下,我希望能够通过一次单击来安装这两个组件,但可以满足于从两个组件中的任何一个向另一个进行某种形式的追加销售。如果检测应用程序是否已安装,它是否需要处于后台权限模式?@mangini的链接不再起作用,但您可以尝试:。@apsillers不是让用户同时安装应用程序和扩展,而是将它们组合成一个单元,以便用户只进行一次安装操作?