Google chrome extension 针对Google Chrome和Edge Chrome时,我应该何时启动本机消息主机?
我有一个使用本机主机的Google Chrome扩展。这仅在windows设备上使用,扩展的注册表设置随本机主机exe的安装一起添加。当前,端口(chrome.runtime.connectNative)或本机主机在加载extensions后台脚本时启动。这目前意味着无论何时运行Google Chrome,本机主机都会运行 扩展仅用于1个网站“www.example.com”,因此内容脚本仅在加载此网站的选项卡时运行。这意味着本机主机仅在加载此网站的选项卡时才需要,而不是始终需要 我现在还想创建一个Edge Chrome扩展,并为用户提供使用Edge或Chrome的选项。如上所述,这两个扩展都是“已安装”的,这意味着在安装本机主机时添加了注册表项。这意味着两种浏览器都有扩展 因此,我的主要问题是何时以及如何启动本机主机 从这个主要问题中,我有一大堆想法或问题Google chrome extension 针对Google Chrome和Edge Chrome时,我应该何时启动本机消息主机?,google-chrome-extension,microsoft-edge-extension,Google Chrome Extension,Microsoft Edge Extension,我有一个使用本机主机的Google Chrome扩展。这仅在windows设备上使用,扩展的注册表设置随本机主机exe的安装一起添加。当前,端口(chrome.runtime.connectNative)或本机主机在加载extensions后台脚本时启动。这目前意味着无论何时运行Google Chrome,本机主机都会运行 扩展仅用于1个网站“www.example.com”,因此内容脚本仅在加载此网站的选项卡时运行。这意味着本机主机仅在加载此网站的选项卡时才需要,而不是始终需要 我现在还想创建
chrome-extension://id/
主机清单中的第二个扩展名id为允许的\u来源
,如中所示
有两个不同的本机主机正在运行
每个主机都由其各自的扩展启动,并且它只能与该父扩展通信,没有混淆
用于知道是否应启动本机主机的标志。这里的问题是如何打开此标志。没有本机主机,我不知道如何与扩展交互
这取决于主机和扩展做什么。可能您不需要一直运行主机,也可能只有在加载带有匹配URL的选项卡时才能启动主机。也许你可以使用新的实验机制
对注册表的更改
添加chrome-extension://id/
主机清单中的第二个扩展名id为允许的\u来源
,如中所示
有两个不同的本机主机正在运行
每个主机都由其各自的扩展启动,并且它只能与该父扩展通信,没有混淆
用于知道是否应启动本机主机的标志。这里的问题是如何打开此标志。没有本机主机,我不知道如何与扩展交互
这取决于主机和扩展做什么。可能您不需要一直运行主机,也可能只有在加载带有匹配URL的选项卡时才能启动主机。也许你可以使用新的实验机制。我同意@wOxxOm的建议。如果您还有任何问题,请告诉我们。我同意@wOxxOm给出的建议。如果您还有任何问题,请告诉我们。谢谢您的回答。所以你建议两个浏览器都使用一个主机文件,对吗?这意味着主机文件必须知道它为哪个浏览器工作。引用文档“本机消息传递主机的第一个参数是调用方的来源”,这样您就可以使用它了。或者您的扩展可以在连接userAgent字符串后发送消息,例如。是的,我明白了。我这里有一个关于那些arg的问题。您也对此发表了评论。如果您愿意,我可以开始一个新问题,但我只是在Edge中加载了未打包的扩展,它给了我与Chrome中相同的ID,这意味着主机(至少对于测试而言)无法区分。临时扩展ID是完整路径的散列。在网上商店里会有所不同。通过将目录的符号链接(或NTFS连接)设置为不同的名称并将其加载到其他浏览器中,可以强制使用不同的id。谢谢您的回答。所以你建议两个浏览器都使用一个主机文件,对吗?这意味着主机文件必须知道它为哪个浏览器工作。引用文档“本机消息传递主机的第一个参数是调用方的来源”,这样您就可以使用它了。或者您的扩展可以在连接userAgent字符串后发送消息,例如。是的,我明白了。我这里有一个关于那些arg的问题。您也对此发表了评论。如果您愿意,我可以开始一个新问题,但我只是在Edge中加载了未打包的扩展,它给了我与Chrome中相同的ID,这意味着主机(至少对于测试而言)无法区分。临时扩展ID是完整路径的散列。在网上商店里会有所不同。通过将目录的符号链接(或NTFS连接)设置为不同的名称并将其加载到其他浏览器中,可以强制使用不同的id。