AURA 株式会社アウラ

RECRUIT急募!採用エントリー
10分で完成!Chrome拡張機能を作ってみよう!

スタッフブログ

Staff Blog
  1. ホームページ制作はアウラ:ホーム
  2. スタッフブログ
  3. 10分で完成!Chrome拡張機能を作ってみよう!

10分で完成!Chrome拡張機能を作ってみよう!

10分で完成!Chrome拡張機能を作ってみよう!

みなさん、こんにちは。マイチョイスで自分を変化させ続ける周です。

Chromeをはじめとするブラウザはユーザーが選んでインストールできる拡張機能」が用意されています。指定の言語に翻訳できるものや、文字を読み上げることができるものなど、自分が欲しい拡張機能を検索してワンクリックで利用できます。その便利な「拡張機能」は個人でも作成して読み込むことが可能です。

今回は、ページの背景色を自由に変更できる拡張機能の作り方を紹介します。

拡張機能の基本情報を定義する

基本情報のJSONファイルを作成する

まずは拡張機能用のフォルダを作成し、中にmanifest.jsonファイルを作ります。以下のように拡張機能の基本情報を定義します。

{
  "manifest_version": 3,
  "name": "Change Background Color ページ背景変換ツール",
  "version": "1.0.0",
  "description": "ページの背景色を自由に変更できる拡張機能です。",
  // 拡張機能のモーダルに使うUIファイルを定義する
  "action": {
    "default_popup": "index.html"
  },
  // 拡張機能のロゴを定義する
  "icons": {
     "16": "icon16.png",
     "48": "icon48.png",
     "128": "icon128.png"
  }
  // 仕様に従って、拡張機能にアクセス許可を要求する
  "permissions": ["activeTab"],
   // 閲覧ページを操作するJSファイルを定義する
  "content_scripts": [
    {
      "matches": ["<all_urls>"],
      "js": ["change-back-color.js"]
    }
  ]
}

拡張機能のロゴを作成する

拡張機能のロゴを16px、48px、128pxの3つのサイズごとに作成し、拡張機能用のフォルダに格納します。

メイン機能を開発する

拡張機能の画面を操作する

まず、拡張機能のタブを押した後に表示されるコントロール用のモーダルを作成します。

HTMLとCSSを使って構築します。inputのcolorタイプで、ユーザーに好きな色をピックアップしてもらいます。index.htmlファイルを作成します。

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <style>
      body {
        width: 300px;
        height: 200px;
        margin: 0;
        padding: 10px;
        font-family: Arial, sans-serif;
      }
    </style>
  </head>
  <body>
    <h1>ページ背景変換ツール</h1>
    <p>好きな色を選んでください。</p>
    <input type="color" id="page-background-color">
    <script src="chrome.js"></script>
  </body>
</html>

HTMLで読み込んでいるchrome.jsファイルを使って、ユーザーが選んだ色を取得します。
chrome.jsindex.html対して動作するJSファイルです。
カラーデータを現在閲覧しているページを制御できるJSファイルに送信します。

// ユーザーがカラーを選んだ際に発火する
document.getElementById("page-background-color").addEventListener('change', function() {
    chrome.tabs.query({active:true, currentWindow:true}, (tabs) => {
        chrome.tabs.sendMessage(tabs[0].id, {action: 'changeBackgroundColor', value: document.getElementById("page-color").value});
    });
});

閲覧しているページを制御する

閲覧しているページを制御するためのchange-back-color.jsを作成します。
ユーザーが選んだカラーを受け取り、現在のページのbodyタグの背景色として設定します。

// ユーザーが選んだカラー情報を受け取る
chrome.runtime.onMessage.addListener((request, sender, sendResponse) => {
  // 動作したいアクション名と一致する場合
  if (request.action === 'changeBackgroundColor') {
    // カラーコードを取得する
    const colorCode = request.value;
    // カラーコードをbodyの背景色として指定する
    document.body.style.background = colorCode;
  }
});

Chromeに読み込む

最後は作成した拡張機能をChromeに読み込みます。
まず、Chromeの設定メニューから「拡張機能」の「拡張機能を管理」をクリックします。
そして、右上にある開発用の「デベロッパーモード」をオンにします。
パッケージ化されていない拡張機能を読み込む」ボタンをクリックします。拡張機能のディレクトリーへ移動し、「選択」ボタンをクリックします。

以上で拡張機能が使えるようになります。早速試してみると、下記のように…

まとめ

HTMLとJavaScriptの知識があれば、自分で拡張機能を開発することができます。
みなさんもマイチョイスで独自な拡張機能を作ってみましょう。

お電話でのお問い合わせはこちら:06-6292-8577。受付時間は平日9:30~18:30 インターネットからは24時間受付中!お問い合わせフォームはこちら
RECRUIT急募!採用エントリー