Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.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
Google chrome extension Chrome打包应用和扩展之间的消息传递_Google Chrome Extension_Google Chrome App - Fatal编程技术网

Google chrome extension Chrome打包应用和扩展之间的消息传递

Google chrome extension Chrome打包应用和扩展之间的消息传递,google-chrome-extension,google-chrome-app,Google Chrome Extension,Google Chrome App,我正在开发一个chrome打包的应用程序,并且已经发布了一个扩展。说明如果您拥有应用或扩展的ID,您可以在扩展和应用之间传递消息 我的目标是在应用程序启动时关闭扩展上的桌面通知。我知道我可以通过chrome.management在扩展中获取应用程序的ID,但反过来不行 有没有办法在应用程序中获取扩展的ID?因此,我可以从应用程序向扩展发送消息以关闭通知 或 扩展中是否有方法监听应用程序的启动?所以,我可以开始在这两个模块之间传递消息,或者干脆在扩展中关闭通知 谢谢 由于您拥有扩展和应用程序,因此

我正在开发一个chrome打包的应用程序,并且已经发布了一个扩展。说明如果您拥有应用或扩展的ID,您可以在扩展和应用之间传递消息

我的目标是在应用程序启动时关闭扩展上的桌面通知。我知道我可以通过chrome.management在扩展中获取应用程序的ID,但反过来不行

有没有办法在应用程序中获取扩展的ID?因此,我可以从应用程序向扩展发送消息以关闭通知

扩展中是否有方法监听应用程序的启动?所以,我可以开始在这两个模块之间传递消息,或者干脆在扩展中关闭通知


谢谢

由于您拥有扩展和应用程序,因此您应该在源代码中硬编码扩展ID。然后,在两个应用/扩展中,只需在启动期间向另一个扩展/应用发送消息

我猜您已经放弃了硬编码扩展ID,因为扩展ID似乎不稳定:无论何时以解包模式加载扩展,ID都是不同的。
这不是问题:通过在清单文件中声明字段,扩展ID将设置为固定值

如果要将扩展名上载到Chrome Web Store,请确保您拥有用于签名扩展名的
.pem
文件。扩展名ID取决于此私钥,如果您丢失了它,则无法创建具有相同ID的新CRX文件。
首次将扩展名上载到CWS时,您需要将私钥作为
key.pem
包含在zip文件的根目录中(即
key.pem
,而不是
subdir/key.pem
)。

如果省略此步骤,CWS将自动为您的扩展生成一个新ID。因此,您必须更新其他扩展的源代码以处理此新ID。

太棒了,谢谢!我不知道你可以硬编码扩展ID。