我一直在这个工作了一段时间,我不明白这一点。 我已经阅读了Chrome原生消息传递文档 ,但是我一直在收到“未find指定的本地消息传递主机”。 来自扩展名的错误。
登记处指出的清单:
{ "name": "com.fordcars.chromekeys","description": "ChromeKeys description","path": "C:UsersfordcarsDesktopDevelopmentChromeKeysDebugChromeKeys.exe","type": "stdio","allowed_origins": [ "chrome-extension://pdkakljppghagmaoijbpicogfdbodpbc" ] }
扩展脚本:
// Event page var nativeName = "com.fordcars.chromekeys"; var nativePort = chrome.runtime.connectNative(nativeName); function nativeDataReceived(data) { // Not used } function nativedisconnected() { console.log("Native program disconnected. Error: " + chrome.runtime.lastError.message); } nativePort.onMessage.addListener(nativeDataReceived); nativePort.ondisconnect.addListener(nativedisconnected);
请记住,只要connectNative()就会出错。 我的扩展清单中有“nativeMessaging”权限。
我如何知道在Windows中运行的是什么python脚本?
Windows 10崩溃Whodunit
在pySerial中find特定的串口(Windows)
限制程序的帧率
FireBreath WlanopenHandle错误1062“服务尚未启动”
注册地:
Subkey: HKEY_CURRENT_USERSoftwareGoogleChromeNativeMessagingHostscom.fordcars.chromekeys Value name: (Default) Value: C:UsersfordcarsDesktopDevelopmentChromeKeysDebugnativeManifest.json
debugging:我已经做了一些debugging,并发现如果我将com.fordcars.chromekeys中的connectNative nativeName 更改为其他任何内容,我仍然得到相同的错误,所以它不是findregistry项或/和我不有一个很好的manifest.json 。
谢谢!
与Windows和Python 3.2安装Pylint问题
VS2013debugging器不能再parsing包含源代码path的系统环境variables
os.path.exists无法识别C: Windows system32 drivers下的子目录
反斜杠是JSON中的转义字符。 您必须在清单中使用两个反斜杠作为路径分隔符:
// BAD: "path": "C:UsersfordcarsDesktopDevelopmentChromeKeysDebugChromeKeys.exe",// GOOD: "path": "C:\Users\fordcars\Desktop\Development\ChromeKeys\Debug\ChromeKeys.exe",
我强烈建议学习如何调试,如调试本地消息所述 ,因为如果你这样做,那么你会看到更详细的错误消息:
找到清单,但不是本地消息传递主机com.fordcars.chromekeys的二进制文件。 清单中指定的主机路径:C:UsersordcarsDesktopDevelopmentChromeKeysDebugChromeKeys.exe
即使没有查看错误日志,如果您已经按照错误消息中的项目符号点,您可能已经注意到样本清单和您的错误(即拼写错误的反斜杠)之间的差异。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。