background

種類 Object
必須 いいえ
json

"background": {
  "scripts": ["background.js"]
}

background を使って拡張機能に 1 つ以上のバックグラウンドスクリプトや、オプションとしてバックグラウンドページを含めます。

バックグラウンドスクリプトは、特定のウェブページやブラウザーウィンドウとは独立した、長い期間の状態や、長い期間の操作を維持する必要があるコードを置く場所です。

persistentfalse と指定されている場合を除き、バックグラウンドスクリプトは拡張機能が読み込まれるとすぐに読み込まれて、拡張機能が無効化やアンインストールされるまで読み込まれたままになります。スクリプト内では、必要な permissions を要求している限り、あらゆる WebExtension APIs を使用できます

詳しくは 拡張機能の中身の「バックグラウンドページ」の節を見てください。

background キーは次の 2 つのプロパティ(両方ともオプションです)のうち 1 つを持つオブジェクトです:

"scripts"

文字列配列であり、各要素は JavaScript ファイルへのパスです。パスは manifest.json を基準にした相対パスです。これらは、拡張機能に含まれるバックグラウンドスクリプトです。

これらのスクリプトは、同じグローバル window を共有します。

これらのスクリプトは、配列内の出現順で読み込まれます。

"scripts" を指定したときは、スクリプトを実行するための空のバックグラウンドページが作られます。

注: <script> タグを使って外部からスクリプトを取り込む場合 (例: <script src = "https://code.jquery.com/jquery-1.7.1.min.js">)、拡張機能の manifest.json で content_security_policy キーを変更する必要があります。

注: Firefox 50 より前のバージョンにはこれに影響するバグがあることに注意してください。Firefox のデバッガーが開いているときは、必ずしも配列内の出現順でスクリプトが読み込まれるとは限りません。このバグに対処するには、"page" プロパティを使い、そのページから <script> タグによってバックグラウンドスクリプトを読み込んでください。このバグは Firefox 50 で修正され、それ以降は常に配列内の出現順でスクリプトが読み込まれます。

"page"

もしバックグラウンド ページに何か内容を持たせたい場合、そのページを "page" により指定することができます。 manifest.json から拡張機能の中に含まれるHTMLドキュメントを参照するためのパス文字列の String を指定します。

このプロパティを使うときは、"scripts" を使ってバックグラウンドスクリプトを指定することはできませんが、通常のウェブページと同じように、バックグラウンドページ内からスクリプトを読み込むことができます。

background は以下の追加のキーを含むこともできます:

persistent

Boolean の値。

  • true を指定すると、拡張機能が読み込まれるかブラウザーが起動した時から、拡張機能の削除、無効化、もしくはブラウザーが終了するまでの間、バックグラウンドページがメモリー上に保持され続けます(つまり、バックグラウンドページが永続化されます)。
  • false を指定すると、バックグラウンドページはアイドル状態の時にメモリー上からアンロードされ、必要に応じて再生成されます。このようなバックグラウンドページは、リスナーを登録したイベントを処理するためだけにメモリー上に読み込まれるため、イベントページとも呼ばれます。バックグラウンドページがメモリー上からアンロードされていても、リスナーの登録状態は永続化されますが、他の値は永続化されません。イベントページにおいてデータを永続化したい場合は、storage APIを使う必要があります。

json
  "background": {
    "scripts": ["jquery.js", "my-background.js"]
  }

2つのバックグラウンドスクリプトを読み込みます。

json
  "background": {
    "page": "my-background.html"
  }

カスタムのバックグラウンドページを読み込みます。

ブラウザーの互換性

BCD tables only load in the browser