0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

つくってみよう - FireFox拡張機能でブックマークを一覧表示する(1)公式サンプルを体験する

Last updated at Posted at 2020-12-01

つくってみよう - FireFox拡張機能でブックマークを一覧表示する 記事一覧

つくってみよう - FireFox拡張機能でブックマークを一覧表示する(1)公式サンプルを体験する
つくってみよう - FireFox拡張機能でブックマークを一覧表示する(2)動作を確認する
[つくってみよう - FireFox拡張機能でブックマークを一覧表示する(3)ソースコードを読む - 構成について]
(https://qiita.com/madaaamj/items/bef7102722da2f249515)
[つくってみよう - FireFox拡張機能でブックマークを一覧表示する(4)ソースコードを読む - 画面について]
(https://qiita.com/madaaamj/items/27dd820d10fd20c51dee)
[つくってみよう - FireFox拡張機能でブックマークを一覧表示する(5)ソースコードを読む - 処理の概要について]
(https://qiita.com/madaaamj/items/af88405b30820b19a114)
[つくってみよう - FireFox拡張機能でブックマークを一覧表示する(6)ソースコードを読む - JSON情報の取得について]
(https://qiita.com/madaaamj/items/d9e7b1c296221218d46a)
[つくってみよう - FireFox拡張機能でブックマークを一覧表示する(7)ソースコードを読む - 表示について①]
(https://qiita.com/madaaamj/items/68888b5d0fdb8f2af84f)
[つくってみよう - FireFox拡張機能でブックマークを一覧表示する(8)ソースコードを読む - 表示について②]
(https://qiita.com/madaaamj/items/a7e3f764f8177139bf7d)

ひっそりアドベンド2020

Qiita Advent Calendar 2020が盛り上がる中ちょっと敷居が高いけどアドベンドには参加したい。
そこで個人で楽しむFireFoxの拡張機能を”ひっそりと”つくっていきたいと思います。
今回は個人的に欲しいと思っていたブックマークを一覧表示する機能を実装していきます。

開発環境について

今回はWindows10(OS)、FireFox(ブラウザー)、VisualStudioCode(エディター)で開発します。
FireFox以外はこれでなければ動かないということはないと思いますので適宜選んでください。今回はエディターはメモで十分です。よくわからない場合は上の環境だと解説どおりで動作します。

FireFox拡張機能について

FireFoxの準備

FireFox拡張機能を利用するにはFireFoxが必要です。開発環境にない場合はインストールしてください。
 参考リンク:Firefox の最新版を入手

拡張機能について

拡張機能についてMDNでは以下のように[説明][link-1]しています。
[link-1]:https://developer.mozilla.org/ja/docs/Mozilla/Add-ons

開発者はアドオン (add-on) を作成して Firefox を拡張したり機能を変更したりできます。 アドオンは JavaScript、HTML、CSS といったWeb標準技術と、幾つかの専用JavaScript APIを使って作成します。アドオンは、主に以下のようなことを実現できます。

  • 特定のウェブサイトの見た目や内容を変更する
  • Firefoxのユーザーインタフェースを変更する
  • Firefoxに新しい機能を追加する

アドオンには幾つかの種類がありますが、もっとも一般的なのは拡張機能 (extension)です。

MDN Web Docsではウェブ技術のドキュメントが豊富に公開されています。リファレンスやサンプルを参考にしながら拡張機能をつくることができます。
 参考リンク:Mozilla
 参考リンク:ブラウザー拡張機能

まずは動かしてみましょう

MDN Web Docsの「[初めての拡張機能][link-2]」を参考に拡張機能をつくってみましょう。
[link-2]:https://developer.mozilla.org/ja/docs/Mozilla/Add-ons/WebExtensions/Your_first_WebExtension

ディレクトリ(フォルダー)をつくる

「borderify」という名前でフォルダーをつくります。
image.png

manifest.jsonを配置する

borderifyの中に「manifest.json」という名前で空のファイルをつくります。
image.png

manifest.jsonを編集する

manifest.jsonに以下の内容をコピー&ペーストして保存します。

manifest.json
{
  "manifest_version": 2,
  "name": "Borderify",
  "version": "1.0",
 
  "description": "Adds a solid red border to all webpages matching mozilla.org.",
  
  "icons": {
    "48": "icons/border-48.png"
  },

  "content_scripts": [
    {
      "matches": ["*://*.mozilla.org/*"],
      "js": ["borderify.js"]
    }
  ]
}

manifest.jsonの各キーについては[manifest.json][link-3]に解説がありますので目を通すことをお勧めします。
[link-3]:https://developer.mozilla.org/ja/docs/Mozilla/Add-ons/WebExtensions/manifest.json

アイコンを設定する

borderifyの中に「icons」という名前でフォルダーをつくります。
manifest.jsonの"icons"で指定している画像ファイルをmdn/webextensions-examplesからダウンロードして配置します。

manifest.json(一部)
    "icons": {
      "48": "icons/border-48.png"
    },

image.png
image.png

borderify.jsを配置する

borderifyの中に「borderify.js」という名前で空のファイルをつくります。
image.png

borderify.jsを編集する

borderify.jsに以下の内容をコピー&ペーストして保存します。

borderify.js
document.body.style.border = "5px solid red";

動かしてみよう

インストール

[インストール][link-5]を参考に"一時的なアドオンを読み込む"でインストールします。
[link-5]:https://developer.mozilla.org/ja/docs/Mozilla/Add-ons/WebExtensions/Your_first_WebExtension#Installing

Firefox の場合: about:debugging ページを開いて、"この Firefox" (Firefox の新しいバージョンで)をクリックし、"一時的なアドオンを読み込む" をクリックし、アドオンのディレクトリーにあるファイルをどれか 1 つ選択します。

選択するファイルは「manifest.json」です。
image.png
インストールが完了すると一覧に指定したアイコンのついた「Borderify」という名前のアドオンが表示されます。
image.png

テストしてみよう

manifest.jsonで指定した"://.mozilla.org/*"を含むサイトにアクセスすると赤い枠線が表示されます。

manifest.json(一部)
"content_scripts": [
      {
        "matches": ["*://*.mozilla.org/*"],
        "js": ["borderify.js"]
      }
    ]

[初めての拡張機能][link-2]を表示した例。
image.png

サンプルコードについて

ここまで使用してきたソースコードは以下に記載されているようにGitHubから入手できます。

このサンプルのソースコードは GitHub で公開しています(https://github.com/mdn/webextensions-examples/tree/master/borderify)。

その他多くの[サンプルコード][link-6]がGitHubで公開されているのでダウンロードして、上で行ったように一時的にインストールしてためしてみることができますし、ソースコードの中を眺めてみるのも勉強になるのでお勧めです。
[link-6]:https://github.com/mdn/webextensions-examples

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?