1

基本上我想要做的是有一个应用程序(单个进程),它将一直保持打开状态,并有一个线程去监听 Chrome 的本机消息传递。

我目前的理解是 Chrome 会为每条原生消息启动一个单独的进程。如果我要使用 Mutex 创建单个进程,那么我将无法将标准输入传递给主进程,因为我必须首先使用适当的参数再次启动该进程。Chrome 可能会类似地执行此操作,因此需要多个进程。

在我看来,必须有一个中间进程通过套接字或类似的东西来通知 Chrome 消息的主进程。是这样吗?有没有办法使用单个进程来实现这一点?

非常感谢输入!

另外作为一个侧面说明,Chrome 似乎以静默方式启动其本机消息传递应用程序进程(无显示)。这是我做错了什么还是正常的?

4

1 回答 1

2

使用 chrome.runtime.connectNative,您可以创建一个长时间运行的原生实例。然后,您需要在后台脚本中保持该 javascript 引用有效,以便您可以重用它。

清单.json;

"background": {"scripts": ["background.js"]},

背景.js;

var nativePort = null;
function getNativePort(){
  if (nativePort == null)
    nativePort = chrome.runtime.connectNative("...");
}

如果要从内容脚本发送消息,则必须先将其转发到后台脚本。

于 2015-08-28T03:37:45.947 回答