我正在尝试制作一个与本机消息传递主机(即 EXE 文件)通信的页面操作扩展。
我已经安装了我的扩展,我看到它的 UI 按预期工作,但 EXE 没有启动。除此之外,我是否需要自己做一些事情来启动它?:
port = chrome.runtime.connectNative(hostName);
我已经在注册表中安装了主机,如下所示:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Google\Chrome\NativeMessagingHosts\com.google.chrome.example.echo] @="C:\Users\me\Desktop\nativeMessaging\host\com.google.chrome.example.echo-win.json"
(我也手动添加了这个,因为 x86 和 x64 位版本的配置单元似乎很乱......)
主机清单文件:
{
"name": "com.google.chrome.example.echo",
"description": "Chrome Native Messaging API Example Host",
"path": "native-messaging-example-host.bat",
"type": "stdio",
"allowed_origins": [
"chrome-extension://knldjmfmopnpolahpmmgbagdohdnhkik/",
"*"
]
}
在里面native-messaging-example-host.bat
我有:
MyExeName.exe
如您所见,我添加了一个以防"*"
万一allowed_origins
其他选项不适用于页面操作。
我也尝试将 EXE 名称直接放在清单文件中,但同样没有运气。
我仍然得到一个:
Specified native messaging host not found.
我还检查了 ProccessExplorer 以查看 Chrome 加载了哪些应用程序,以防万一它被加载,但我在那里也看不到它。
奇怪的是,我已经开始修改来自 Google 的本机消息传递主机示例,并且我认为它可以作为一个应用程序运行。当我把它变成一个页面操作扩展时,它就停止了工作。
有谁知道这里有什么问题?