如何在Firefox Webextensions中执行命令行程序?

dis*_*tle 5 firefox-addon firefox-addon-webextensions

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

Noi*_*art 5

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

\n\n

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

\n\n
\n

运行时.connectNative

\n\n

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

\n\n

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

\n\n
chrome.runtime.sendNativeMessage(\'your-application\',\n  { text: "Hello" },\n  function(response) {\n    console.log("Received " + response);\n});\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n
\n