我目前正在尝试在chrome扩展名和NativeMessagingHost之间建立连接。一切在Windows上都可以正常运行,但在Linux(arch,kali或ubuntu)上却无法实现。 如何失败:
找不到本地消息传递主机my_host.json的清单
~/.config/google-chrome-beta/NativeMessagingHosts/my_host.json
下
"name":"my_host.json"
以及处理消息的我的python脚本的路径,以及allowed_origins
下唯一的chrome扩展代码。manifest.json
中的nativeMessaging
的权限popup.js: var port = chrome.runtime.connectNative("my_host.json");
中的名称与sendNativeMessage
中使用的名称相同my_host.json
至my_host
,或删除python结尾my_host
放到/Library/Google/Chrome/NativeMessagingHosts
中,该路径通常应该是Mac路径-但是,嘿,也许可以(不是)。启动应用程序没有错误,在启动带有日志记录的chrome时从终端复制了消息。 我几乎遍历了Google提供的示例,调整路径等。
也经历过不同的帖子,但是似乎没有人遇到相同的问题,或者没有人试图做类似的事情。
答案 0 :(得分:0)
所以我找出了问题所在:
我将主机的名称从my_host.json
更改为com.my.host.json
,并将“名称”设置为com.my.host
(在此我也首先以结尾.json
开头,这可能导致了问题太)。此外,我在我的js文件中将var port = chrome.runtime.connectNative("my_host.json")
更改为[...]("com.my.host")
,其中结尾.json也不合适。现在一切正常。谢谢您的建议!