content_scripts
タイプ |
Array |
---|---|
必須か | いいえ |
例 |
json
|
与えられたパターンに URL がマッチしているページにコンテンツスクリプトをロードすることをブラウザーに教えます。
このキーは配列です。それぞれのアイテムは以下の条件を満たすオブジェクトです:
- 必ず matches という名前のキーを含まなければならず、これはスクリプトが読み込まれる URL パターンを指定します
js
とcss
というキーを入れてもよく、それはマッチしたページに読み込まれるスクリプトを列挙します- その他のプロパティを入れてもよく、それはコンテンツスクリプトがいつどのように読み込まれるか管理します
入れることのできるキーの詳細は下記の表にあります。
名前 | 型 | 説明 |
---|---|---|
all_frames
|
Boolean |
デフォルトは |
css
|
Array |
manifest.json からの相対パスの配列で、マッチしたページに挿入される CSS ファイルを参照する。 ファイルは指定した順で、DOM が読み込まれる前に挿入される。 |
exclude_globs
|
Array |
ワイルドカードを含む文字配列。下記の URL パターンにマッチする を見てください。 |
exclude_matches
|
Array |
マッチパターンの配列。下記の URL パターンにマッチするを見てください。 |
include_globs
|
Array |
ワイルドカードを含む文字配列。下記の URL パターンにマッチする を見てください。 |
js
|
Array |
manifest.json からの相対パスの配列で、マッチしたページに挿入される JavaScript ファイルを参照する。 ファイルは指定した順でに挿入される。つまり、例えば、ここで jQuery をインクルードしてから他のコンテンツスクリプトを読み込むには、このようにします: json
|
match_about_blank
|
Boolean |
コンテンツスクリプトを
This is especially useful to run scripts in empty iframes , whose URL
is
例えば、 以下のような json
ユーザーが
|
matches
|
Array |
マッチパターンの配列。下記の URLパターンにマッチする を見てください。 これは唯一の必須なキーです。 |
run_at
|
String |
This option determines when the scripts specified in
The default value is |
URL パターンにマッチする
"content_scripts"
キーは URL マッチングを元にしてコンテンツスクリプトをドキュメントに添付します: ドキュメントの URL がキーに指定されたものとマッチしたら、スクリプトは添付されます。"content_scripts"
内には指定に使える 4 つのキーワードがあります:
これらのプロパティにマッチするには、URL は配列内で少なくとも 1 つの項目にマッチしなければなりません。例えばこのようなプロパティが与えられたら:
"matches": ["*://*.example.org/*", "*://*.example.com/*"]
"http://example.org/" と "http://example.com/" の両方がマッチします。
matches
は唯一必須のキーなため、その他の 3 つのキーはそれ以降のマッチ URL の制限に使われます。全体のキーにマッチするために、URL は下記のようでなければなりません:
matches
プロパティにマッチしている- かつ、
include_globs
があれば、それにマッチする - かつ、
exclude_matches
があれば、それにマッチしない - かつ、
exclude_globs
があれば、それにマッチしない
globs
glob は単にワイルドカードを含むことのある文字列です。ワイルドカードには 2 種類あって、glob 内に組み合わせることができます:
- "*" は 0 個以上のキャラクターにマッチします
- "?" はちょうど 1 個のキャラクターにマッチします
例えば: "*na?i"
は "illuminati"
と "annunaki"
にマッチし、"sagnarelli"
にはマッチしません。
例
"content_scripts": [
{
"matches": ["*://*.mozilla.org/*"],
"js": ["borderify.js"]
}
]
これは "borderify.js" という 1 つのコンテンツスクリプトを、HTTP か HTTPS のいずれかで配布される、"mozilla.org" かそのサブドメインのページに挿入します。
"content_scripts": [
{
"exclude_matches": ["*://developer.mozilla.org/*"],
"matches": ["*://*.mozilla.org/*"],
"js": ["jquery.js", "borderify.js"]
}
]
これは 2 つのコンテンツスクリプトを、HTTP か HTTPS のいずれかで配布される、 "mozilla.org" かそのサブドメイン(ただし "developer.mozilla.org" を除く)のページに挿入します。
コンテンツスクリプトは同じ DOM を見て、配列の順番どおりに挿入されます。よって "borderify.js" からは "jquery.js" によって追加されたグローバル変数が見えます。
ブラウザーの互換性
BCD tables only load in the browser