首页 > 解决方案 > Chrome 扩展程序:在同一台计算机中跨多个 chrome 配置文件进行通信/调用操作

问题描述

所以我正在创建一个扩展程序,它们正在多个“Chrome 配置文件”上运行

Chrome 配置文件 = 在 Chrome 中,您可以制作多个 chrome 配置文件。

所以我试图在我的扩展中共享本地存储(我正在使用chrome.storage.local)来获取存储/获取数据。

示例:我有一个扩展程序,并且同一扩展程序安装在同一台计算机的多个 chrome 配置文件上

现在,如果我点击我的扩展程序中的一个按钮,那么它应该会在同一台计算机的其他 chrome 配置文件中触发一个操作

此外,该操作还应该将数据传递给其他 chrome 配置文件。


Chrome 配置文件 #1 - 在我的扩展程序中:我单击一个按钮 #sayHello

Chrome 配置文件 #2、Chrome 配置文件 #3、4、5、6 应该记录 sayHello。

到目前为止我做了什么:我想到目前为止我已经尝试了所有的 chrome 消息传递 api。

有没有办法在没有后端的情况下做到这一点?任何技巧/提示?

谢谢!!!

标签: javascriptgoogle-chromegoogle-chrome-extensionmessagingchrome-profile

解决方案


无法在 Chrome 定义的配置文件之间传递数据。因此,您想要按照您的描述做的事情是无法实现的。

如果问题是在同一台计算机上的多个配置文件之间共享信息,则解决方案(接近科幻小说)可能是使用外部服务(您拥有的服务器、firebase 等)。

您应该提取 PC mac 地址(这是一个很大的区别),然后将您的数据与 mac 地址一起发布到外部服务的端点。然后该服务会将数据保存在数据库或文件中。当您连接到另一个配置文件时,您必须以同样的方式检索 mac 地址,然后向服务发出请求以查看是否有适合您的“东西”。

另一种可能的解决方案是将数据链接到各种配置文件所有者的电子邮件地址(在这种情况下,配置文件必须登录)。对于上面的示例,您必须将数据发布到外部服务端点。当您切换到另一个连接的配置文件时,您必须首先通过 Chrome 身份 API 检索连接用户的电子邮件地址,然后您必须查询将电子邮件地址作为参数传递的外部服务以获取数据地址给你。(第二种方法应该适用于所有 PC)。


推荐阅读