7

我想在一个简单的 WebExtensions 插件中运行一个带有参数的命令(磁盘上某处的 exe),并可能得到它的标准输出。有没有办法在 WebExtensions 中这样做,因为旧的 API 已被弃用?

4

1 回答 1

4

这篇博客文章提到了如何 - https://blog.mozilla.org/addons/2016/06/09/webextensions-for-firefox-49/

阅读该部分runtime.connectNative。他们说:

runtime.connectNative

此 API 允许您与主机操作系统上的其他进程进行通信。它是密码管理器和需要与外部进程通信的安全软件的常用 API。

要与本机进程通信,有两个步骤。首先,您的安装程序需要在目标计算机上的适当文件位置安装 JSON 清单文件。该 JSON 清单提供了 Firefox 和进程之间的链接。其次,用户安装插件。然后插件就可以调用connectNative、sendNativeMessage等API:

chrome.runtime.sendNativeMessage('your-application',
  { text: "Hello" },
  function(response) {
    console.log("Received " + response);
});

如果尚未启动,Firefox 将启动该进程,并将命令通过管道传送到该进程。关注 Bugzilla 上 runtime.connectNative 的进展。

于 2016-06-14T12:56:21.843 回答