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