Clicky

Chrome拡張機能開発講座 第1回: Chrome拡張機能の全体像と構成ファイル

Chrome拡張機能開発講座 第1回 全体像と構成ファイル アイキャッチ画像 GoogleChrome(グーグルクローム)
GoogleChrome(グーグルクローム)
この記事は約4分で読めます。

※記事中に広告情報を含みます。

スキルを手に入れた時、人は強くなれる。
Youtubeでスキルアップを始める 電子書籍でスキルアップを始める

Chrome拡張機能は、ブラウザに独自の機能を追加するための小さなWebアプリケーションです。HTML、CSS、JavaScriptという標準的なWeb技術で作成でき、特定のWebサイトだけに処理を追加することもできます。

この連載では、「Googleカレンダー上でショートカットキーを押すと、直近の予定へフォーカスするツール」を題材に、Chrome拡張機能の作り方を6回に分けて解説します。第1回では、拡張機能の全体像と構成ファイルを確認します。

作成する拡張機能の概要

今回のサンプルは、Googleカレンダーを開いている状態で z キーを押すと、現在時刻に近い予定を探してスクロールし、フォーカスとハイライトを行う拡張機能です。

Googleカレンダー標準の画面に、次のような操作を追加するイメージです。

  • z キーを押す
  • 画面上の予定要素をJavaScriptで取得する
  • 現在進行中、これから開始、直近で終了した予定の順に対象を探す
  • 対象の予定へスクロールする
  • 予定をフォーカスし、CSSで目立たせる

Chrome拡張機能の作り方の全体手順

Chrome拡張機能は、最初から難しい設定をすべて覚える必要はありません。基本は、フォルダを作り、その中に設定ファイルとJavaScript、必要に応じてCSSを置き、Chromeに読み込ませる流れです。

  1. 拡張機能用のフォルダを作る
  2. manifest.json を作り、拡張機能の名前や実行対象URLを書く
  3. content.js を作り、ページ上で実行したいJavaScriptを書く
  4. styles.css を作り、ページに追加したい見た目を定義する
  5. Chromeの chrome://extensions/ を開く
  6. デベロッパーモードをオンにし、フォルダを読み込む
  7. 対象ページを開いて、動作を確認する

今回の拡張機能では、対象ページがGoogleカレンダーなので、manifest.jsoncalendar.google.com だけを指定します。これにより、他のWebサイトでは拡張機能が動かないようにできます。

Chrome拡張機能作りで最初に意識したいのは、「設定」「処理」「見た目」を分けて考えることです。設定は manifest.json、処理は content.js、見た目は styles.css に分けると、どこを直せばよいか分かりやすくなります。

フォルダ構成

最小構成では、次の3ファイルでChrome拡張機能を作成できます。

Googleカレンダー/
├─ manifest.json
├─ content.js
└─ styles.css

manifest.json

manifest.json は、Chrome拡張機能の設計図です。拡張機能の名前、バージョン、説明、どのページでどのJavaScriptやCSSを読み込むかを定義します。

今回の例では、GoogleカレンダーのURLを開いたときだけ content.jsstyles.css を読み込むように指定します。

content.js

content.js は、Googleカレンダーの画面上で実行されるメインプログラムです。キー入力を監視し、予定要素を探し、対象の予定へスクロールしてフォーカスします。

Chrome拡張機能では、このようにWebページ側へ挿入されて動くJavaScriptを Content Scripts と呼びます。

styles.css

styles.css は、対象の予定を視覚的に目立たせるためのスタイルシートです。JavaScriptが予定要素に専用のCSSクラスを付け、そのクラスに対して枠線やアニメーションを指定します。

3つのファイルの連携

この拡張機能は、3つのファイルが次の順番で連携して動きます。

  1. manifest.json が、Googleカレンダー上で読み込むファイルをChromeに伝える
  2. content.js が、キー入力や予定要素の探索を担当する
  3. styles.css が、フォーカスされた予定の見た目を変更する

つまり、manifest.json は設定、content.js は処理、styles.css は見た目を担当します。役割を分けておくことで、拡張機能の構造を理解しやすくなります。

Chrome拡張機能でできること

Chrome拡張機能では、次のようなことができます。

  • 特定のWebサイト上でJavaScriptを実行する
  • ページ内のHTML要素を読み取る
  • ページの見た目をCSSで変更する
  • ショートカットキーやクリック操作を追加する
  • ブラウザのツールバーにボタンやポップアップを追加する

今回の題材では、Googleカレンダーという既存のWebアプリに対して、「直近の予定へ移動する」という小さな機能を追加します。ブラウザ拡張の基本を学ぶには、ちょうど扱いやすい題材です。

まとめ

第1回では、Chrome拡張機能の基本構造を確認しました。今回の拡張機能は、manifest.jsoncontent.jsstyles.css の3つのファイルで構成されています。

次回は、拡張機能の設計図である manifest.json の中身を詳しく見ていきます。

ホーム
掲載依頼
WordPress
スキルアップ
記事カテゴリ
お問い合わせ
Youtube