Firefox の Web ページ内コンテキスト メニューに独自のカスタム項目を追加するにはどうすればよいですか?

Firefox の Web ページ内コンテキスト メニューに独自のカスタム項目を追加するにはどうすればよいですか?

つまり、私はさまざまなことを実行するためにコーディングしたあらゆる種類のコマンドライン スクリプトを持っています。そのうちの 1 つは Web ページから任意のビデオをダウンロードし、もう 1 つは Instagram 画像を判別してフルサイズで開きます。ここまでは順調です。

しかし、これらのツールを使用するたびに、Firefox から URL を手動でコピーしてスクリプトに貼り付け、実行する必要があります。これでは、目的が達成されません。

Firefox に独自のコンテキスト メニュー項目を追加して、Web ページを右クリックすると、(たとえば)「ビデオをダウンロード」というオプションが表示され、それをクリックすると、次のような特定のコマンドが実行されるようにします。

php /path/to/my/script.php --URL="%1"

ここで、%1 は現在の Web ページの URL を意味します。

長い間懸命に調べ、検索し、あちこちで質問しましたが、これを実現するには、ちょっとした設定を編集するだけでは不十分のようです。唯一の提案は、恐ろしいサードパーティの「拡張機能」の使用についてです。私はそれらの拡張機能が大嫌いです。最近では Mozilla さえ信頼していません (それには十分な理由があります)。ましてや、私にとっては「スパイ/マルウェア」としか思えない怪しいサードパーティの拡張機能はなおさらです。

結局のところ、拡張機能を盲目的に信頼できるのであれば、わざわざ自分で自動化したタスクを拡張機能を使って実行できるはずです。

それでも、もし本当に拡張機能なしでこれを行う方法はありません。少なくとも、それほど悪くない拡張機能を提案してもらえませんか? コンテキスト メニューを編集するだけの簡単なこと (また、Mozilla がそこに入れたあらゆる種類のゴミを誤って選択し続けることを削除する) が (簡単に?) できないのは、率直に言ってまったくおかしいと思います。

追伸:私は絶対にない「独自の拡張機能の開発」に興味があります。

答え1

これは間違いなくWebExtensionの一部として開発すると最も効果的です。関連するAPIはここ

もし本当にその道を進みたくないのであれば、ブラウザのコンテキストメニューを回避して、コンテキストメニューイベント独自のページ内「メニュー」を作成し、そのイベントをキャンセルしてデフォルトのメニューが表示されないようにします。一部の Web サイトでは、この方法で独自のカスタム右クリック メニューを追加しています。

関連情報