Chromeの拡張機能(manifest v3)を使用して特定のページを変更する

この記事は約4分で読めます。
スポンサーリンク

やりたいこと

Chromeの拡張機能を使用して特定のページを変更する。

サーバーのファイルを編集するわけではなく拡張機能をインストールしたPCでのみ有効です。

スポンサーリンク

環境

Chrome:112.0.5615.138

拡張機能のmanifestに関して

拡張機能のmanifest:V3

現在、検索で出てくる多くのページで説明されているChromeの拡張機能はmanifest Version2 (V2)です。

V2は将来的に廃止予定ですので可能な限りV3を使用したほうが賢明です。

また2023/1や2023/6にV2が廃止になるような記載があるページがありますが、誤りか情報が古いです。現在(2023/5月現在)、廃止の予定は未定となっています。

詳しくは以下のページをご参照ください。

Manifest V2 support timeline  |  Extensions  |  Chrome for Developers
Details of the Manifest V2 phase-out and end of life.
スポンサーリンク

拡張機能の作成と適応

拡張機能の概要

追記

Chromeの拡張機能で特定のページを変更をする場合、大まかに拡張機能は以下のように動作するように作成します。

- ページが表示された際に自動で任意のJavascriptが実行

- 実行されるJavascript内で表示ページを変更する処理を行う。

拡張機能の作成

フォルダ構成

任意のフォルダ(例ではextension)を作成し、manifest.jsonと任意のjsファイル(例ではsample.js)を作成します。

\---extension
        manifest.json
        sample.js

manifest.jsonの作成

任意のページを書き換えるための拡張機能の場合は、最小限manifest.jsonに以下のように記載します。

manifest.jsonは作成する拡張機能がどのような拡張機能かの宣言です。

{
  "name": "Sample",
  "version": "1",
  "manifest_version": 3,
  "content_scripts": [
    {
      "matches": [ "https://blog.marunokan.com/*" ],
      "js": ["sample.js"]
    }
  ]
}

各項目の意味は以下の通りです。

項目名意味
name拡張機能の名前(任意)
version拡張機能のバージョン(任意)
manifest_versionマニフェストのバージョン 3で固定
content_scripts拡張機能の起動条件
下で説明

content_scripts内の意味は以下の通りです。

項目名意味
matches実行するページ。
最後に*を追加することでサブフォルダでも実行されます。(*は途中にも使えます。)
jsmatchesで指定されたページで実行されるjsファイル

上の例では

”Sample”という名前のバージョン”1”のマニフェストのバージョン”3”を使用した拡張機能。

サブフォルダを含めて”https://blog.marunokan.com/”のページで”sample.js”を実行する。

という宣言になります。

JavaScriptファイルの作成

”content_scripts”下の”js”で指定したJavaScriptを作成します。(ここの例ではsample.js)

document.getElementById("header-in").innerHTML += "<div><a href='./' target='_blank'>新しいWindow<a/></div>";

今回の例では上のように新しいWindowを開くリンクを挿入するJavaScriptを作成しました。

拡張機能の登録

作成した拡張機能をChromeに登録します。

Chromeを開き、上記のようにユーザ名横の”…” → ”その他のツール” → ”拡張機能”を選択します。

表示された画面右上の”デベロッパーモード”をオンにします。

”デベロッパーモード”をオンにすると上部にボタンが追加されるので”パッケージ化されていない拡張機能を読み込む”をクリックします。

ファイルセレクタが起動するので、作成したmanifest.jsonがあるフォルダを開いた状態で”フォルダーの選択”をクリックします。

上のように作成した拡張機能が表示されれば成功です。

結果

https://blog.marunokan.com/ を表示すると以下のように新しいWindow(タブ)でhttps://blog.marunokan.com/を開くリンクが追加されました。

スポンサーリンク

参考にさせていただいたサイト

Extensions  |  Chrome for Developers
Learn how to develop extensions
2. 実践編 - Chrome 拡張機能を作ろう

コメント

タイトルとURLをコピーしました