hack のためのネタ帳, etc,,,

状況

Mozilla Firefox で Greasemonkey を使いたかったのだが、アドオンのバッヂが何も付与されてないので、老舗ツールの一つとは言え何となく嫌じゃね?と。
つぅ事で、自前で addon 作って script 適用できると良いなってことで WebExtensions について調べてみた。

公式ページ等

Greasemonkey 代わりに使う

以下のように manifest.json 作って、URL に対する JavaScript を用意しておけば OK だった。

manifest.json

{
  "manifest_version": 2,
  "name": "AltGreasemonkey",
  "version": "1.0",

  "description": "An alternatives for Greasemonkey.",

  "icons": {
    "48": "icon.svg"
  },

  "content_scripts": [
    {
      "matches": ["*://example1.com/foo/bar/*"],
      "js": ["script1.js"]
    },
    {
      "matches": ["*://example2.com/foo/bar/*"],
      "js": ["script2.js", "script3.js"]
    }
  ]
}

Makefile

TARGETS=AltGreasemonkey.zip

all: $(TARGETS)

AltGreasemonkey.zip: manifest.json icon.svg script1.js script2.js script3.js
	7z a $@ $^

clean:
	-$(RM) $(TARGETS)
デバッグは、about:debugging から「一時的なアドオン読み込み」に manifest.json か何か、フォルダ内の適当なファイルを食わせる。

完成したら、make して、zip を about:addons から「⚙(アドオンツール)」→「ファイルからアドオンをインストール」に食わせればよさそうなんだが、
によるとアドオンは基本的に署名必須なんだそうで、例外的に ESR、Developper Edition、または Nightly であれば about:config で extensions.langpacks.signatures.required=false を設定すれば未署名でも行けるらしい。
によると に self hosting 用として upload すると、https://addons.mozilla.org/ へは非公開な状態で署名してもらえるという事だが、承認まで数分必要なのがちょっと面倒だった。

また、ソースの提出で「いいえ」が選べるけど zip にはソースが含まれてるわけで、開発者センター限定とはいえソースの公開避けようとすると、Greasemonkey みたいに拡張機能側から script 登録する仕組みが必要となる。

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Wiki内検索

フリーエリア

管理人/副管理人のみ編集できます