2019/01/18下記の記事で作成したuserChrome.js用ユーザスクリプトを拡張機能で作成します。userChrome.js用ユーザスクリプトを作成するFirefoxを使いやすくする。タブのタイトルとURLをコピーしたかったけど出来なかったので自作してみた。ブログ書いていると何かとWebページのタイトルやURLを取得する機会が多ので、Firefoxアドオンを探しましたが、...https://www.bugbugnow.net/2018/02/CopyTabTitleAndURL.uc.js.htmlFirefoxの拡張機能を作成するFirefox拡張機能(WebExtensions)を作成/公開には、以下の作業が必要となります。拡張機能を作成する拡張機能を試験する拡張機能の署名をもらう拡張機能を公開する拡張機能を作成するmanifest.jsonは、拡張機能の様々な情報を書いておく為のファイルです。background.jsは、manifest.jsonに記載してあるバックグラウンドで動作処理です。以上の2つのファイルだけで本拡張機能は動作します。"コンテキストメニューを追加して、クリップボードへタイトルとURLをコピーします。「タブのタイトルとURLをコピー」、「タブのタイトルをコピー」、「タブのURLをコピー」のメニューをタブのコンテキストメニューに追加します。メニューをクリックした場合、クリップボードにタイトル/URLをコピーします。メニューは、「CopyTabTitleUrl」でグループ化され、メニュー下部に配置されます。(userChrome.jsのように上部にグループ化しないで配置する方法を発見できませんでした。上記の2ファイルをzip形式で圧縮します。圧縮の際に、2ファイルのみを圧縮します。2ファイルの親フォルダを含んではいけません。以下のWebページを参考になります。とある程度互換性があるため、extensionAPIの資料が参考になります。拡張機能を試験する拡張機能を試験します。以下の作業が必要です。Nightly未署名の拡張機能をインストール可能にするURLバーにabout:configを入力するxpinstall.signatures.requiredの値をfalseにする作成したxpiをFirefoxにインストールするFirefoxにxpiファイルをドラッグ&ドロップする試験する開発ツール(Ctrl+Shift+Alt+i)JavaScriptのエラー停止を確認できるconsole.log('文字列');を確認できる拡張機能の署名をもらう拡張機能を通常のFirefoxで使用するためには、署名を貰わなければなりません。自作の拡張機能であっても署名がない場合、通常のFirefoxへのインストールすることができません。Add-onsに登録し、xpiファイルをアップロードして署名をもらいます。拡張機能のaddons.mozilla.orgでの公開有無に関係なくxpiファイルをアップロードする必要があります。拡張機能を公開する上記の拡張機能の署名をもらう作業で公開を選択した場合、addons.mozilla.orgで拡張機能を公開することができます。記事作成時に作成した拡張機能は、CopyTabTitleUrlで公開しています。xpiファイルを直接配布する方法は、採用しなかったため不明です。