首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >边缘浏览器中的本机消息传递主机

边缘浏览器中的本机消息传递主机
EN

Stack Overflow用户
提问于 2020-02-17 13:37:13
回答 2查看 3.2K关注 0票数 2

新的Microsoft程序现在可以接受新Microsoft的基于铬的扩展(ver )。77或以上)。我已经在边缘浏览器上测试了我的chrome扩展,它被安装在边缘浏览器中。我试图重用边缘浏览器的本地主机,这是为Chrome浏览器开发的。但不知何故,这是行不通的。

是否有人知道如何在边缘浏览器中支持chrome本机主机?还是需要使用UWP实现本机主机?

我尝试通过边缘扩展与本机主机进行通信,但得到了“未检查的runtime.lastError:指定的本地消息主机未找到”。错误。来自.js文件的代码

代码语言:javascript
运行
复制
var hostname = "com.microsoft.edge.myExtension";
port = chrome.runtime.connectNative(hostname);

我的本机主机的清单(com.microsoft.edge.myExtension.json)文件

代码语言:javascript
运行
复制
    "name": "com.microsoft.edge.myExtension",
    "description": "My Native Host",
    "path": "C:\\EdgeNativeHost.exe",
    "type": "stdio",
    "allowed_origins": [
        "extension://pbdancjikoidhjcgkfpipggnhlackjpe/"
    ]
}

通过运行shell命令添加注册表项

代码语言:javascript
运行
复制
REG ADD "HKCU\Software\Microsoft\Edge\NativeMessagingHosts\com.microsoft.edge.myExtension" /ve /t REG_SZ /d "C:\com.microsoft.edge.myExtension.json" /f

请让我知道我怎么了?

EN

回答 2

Stack Overflow用户

发布于 2020-02-18 04:11:13

在大多数情况下,为Chromium编写的扩展运行在Microsoft (Chromium) Edge上,更改很少。关于如何将Chrome扩展移植到微软(Chromium)边缘,您可以参考本指南

您应该检查是否使用了Microsoft Edge不支持的下列扩展API:

Chrome支持的扩展API和清单密钥与Microsoft (Chromium) Edge兼容。但是,Microsoft Edge不支持以下扩展API:

  • chrome.gcm
  • chrome.identity.getAccounts
  • chrome.identity.getAuthToken
  • chrome.identity.getProfileUserInfo
  • chrome.instanceID

如果您在扩展的名称或描述中使用Microsoft Edge,您还应该重新定义Chrome的扩展。

对于本地消息传递主机,应该特别注意:

如果您的扩展使用chrome.runtime.connectNative API与本机应用程序交换消息,请确保在本机消息传递主机清单文件中将allowedorigins设置为"extension://[Microsoft-Catalog-extensionID]“。这使应用程序能够识别扩展。

有关更多信息,您可以参考这篇文章。本地消息传递主机的位置也与Chrome扩展略有不同。注册表项中的Google\Chrome应该是Microsoft\Edge

票数 1
EN

Stack Overflow用户

发布于 2020-06-27 21:01:23

萨姆,

根据您提供的信息,您的注册表配置中存在问题。

请注意,如果您使用"HKEY_LOCAL_MACHINE",则路径中有"Microsoft“而不是"Google”。

否则,您可以使用"HKEY_CURRENT_USER",在路径中有"Google“,而不是”Microsoft“。

最后,您的键必须将其默认值设置为本地消息主机manifest.json文件的路径。

见下面来自微软的文档的解释

在Windows上,清单文件可能位于文件系统中的任何位置。应用程序安装程序必须创建注册表项。 HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\Edge \NativeMessagingHosts\com.my_company.my_application 或 HKEY_CURRENT_USER\SOFTWARE\ Google\Chrome

还请注意,在设置扩展源之前还有其他一些要求,并且您的清单必须将'path‘值设置为本机消息宿主可执行文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60263697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档