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

时间:2016-06-11 23:59:34

标签: firefox-addon firefox-webextensions

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

1 个答案:

答案 0 :(得分:3)

此博客文章提到了 - 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进度。