単純な WebExtensions アドオンで引数を指定してコマンド (ディスク上のどこかで実行) を実行し、その stdout を取得したいと考えています。古い API は廃止されているため、WebExtensions でこれを行う方法はありますか?
1 に答える
このブログ投稿では、その方法について説明しています - https://blog.mozilla.org/addons/2016/06/09/webextensions-for-firefox-49/
セクションを読んでくださいruntime.connectNative
。彼らが言うには:
runtime.connectNative
この API を使用すると、ホストのオペレーティング システム上の他のプロセスと通信できます。これは、外部プロセスと通信する必要があるパスワード マネージャーやセキュリティ ソフトウェアで一般的に使用される API です。
ネイティブ プロセスと通信するには、2 段階のプロセスがあります。最初に、インストーラーは JSON マニフェスト ファイルをターゲット コンピューターの適切なファイルの場所にインストールする必要があります。その JSON マニフェストは、Firefox とプロセスの間のリンクを提供します。次に、ユーザーはアドオンをインストールします。その後、アドオンは connectNative、sendNativeMessage、およびその他の API を呼び出すことができます。
chrome.runtime.sendNativeMessage('your-application', { text: "Hello" }, function(response) { console.log("Received " + response); });
Firefox は、まだ開始されていない場合はプロセスを開始し、コマンドをプロセスにパイプします。Bugzilla で runtime.connectNative の進行状況を追跡します。