google-chrome - Chrome 应用程序无法与 Windows 上的 native 主机通信

标签 google-chrome google-chrome-app chrome-native-messaging

我用 Java 编写了一个 chrome 应用程序和一个 native 消息传递主机。该组合在 linux 上运行良好。但是,当我尝试将组合移植到 Windows 时,无法建立通信。包含主机的 jar 与 linux 变体完全相同。我正在使用以下脚本 (start.bat) 来启动 Java 主机:

@echo off
java -jar "%~dp0theHost.jar"

json list 如下:
{
   "name": "com.service.host",
   "description": "Native messaging host",
   "path": "start.bat",
   "type": "stdio",
   "allowed_origins": [
      "chrome-extension://--the ID--/" 
   ]
}

我已将 HKEY_LOCAL_MACHINE\SOFTWARE\Google\Chrome\NativeMessagingHosts\com.service.host 配置为路径 e:\hosts\com.service.host.json
service.bat 文件和 jar (theHost.jar) 也在 e:\hosts\目录中。
尝试开始通信时出现错误:与 native 消息传递主机通信时出错。
我还尝试将 list 中的路径更改为:e:\\hosts\\start.bat但结果/错误是一样的。
当我在 cmd 窗口中手动启动 bat 文件时,主机会正确初始化并等待来自 Chrome 应用程序的消息。另外,当我添加该行时:
copy NUL empty.txt

在调用 bat 时创建空文件的“java - jar...”行之前,该空文件在手动启动 bat 时创建,在 chrome 应用程序“调用”时不会创建。
任何帮助将不胜感激。

版本:
Windows 7、Java 7u55、Chrome 34.0.1847.116 m

最佳答案

要调试在 JS 上下文中没有给出有意义消息的错误,您可以尝试使用 Chrome logging ;这可以提供更多信息(这对您的情况有所帮助)。

关于google-chrome - Chrome 应用程序无法与 Windows 上的 native 主机通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23105921/

相关文章:

javascript,在 Chrome Web 应用程序中创建窗口,如何包含成功调用新窗口函数的 promise ?

google-chrome-app - Polymer Chrome 36 和打包应用程序

google-chrome-extension - 安装chrome原生客户端(nacl)

javascript - 为 Chrome 扩展程序指定 native 消息传递主机

javascript - jQuery innerwidth/innerheight 无法在 Chrome/Safari 中正确处理图像

javascript - chrome 上的 React.js 光标焦点问题

javascript - 是否有任何 cookie 可以指示用户是否已登录 Google Chrome 浏览器?

google-chrome - 服务人员到期

javascript - 是否有允许轻松访问本地文件系统的 WebKit 实现?

c++ - 如何从 Chrome 扩展程序向 native 应用程序发送消息?