MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-survey

ここへジャンプ:

manifest.json は JSON 形式のファイルであり、WebExtension API を使う拡張機能に必ず含めなければならない唯一のファイルです。

manifest.json を使うことで、拡張機能の名前やバージョンといった基本的なメタデータを指定したり、拡張機能の側面として、例えばバックグラウンドスクリプトやコンテンツスクリプトやブラウザーアクションを指定することもできます。

manifest.json のキー一覧は次の通り:

 

"manifest_version" "version"  "name" だけが必須のキーです。"default_locale" は "_locales" ディレクトリーが存在する場合に必要で、それ以外では存在してはなりません。 "applications" は Google Chrome でサポートされず、Firefox では Firefox 48 以前とAndroid 版 Firefox では必須です。

拡張機能の manifest には、拡張機能の JavaScript から runtime.getManifest() 関数を使ってアクセスできます:

browser.runtime.getManifest().version;

ブラウザ実装状況

ChromeEdgeFirefoxFirefox for AndroidOpera
applications 無し 無し4848 無し
author 有り 有り15252 有り
background 有り 有り24848 有り
browser_action 有り 有り4855 有り
chrome_settings_overrides 有り 無し55 無し 無し
chrome_url_overrides 有り1554 無し 無し
commands 有り 無し48 無し 有り
content_scripts 有り3 有り484484 有り3
content_security_policy 有り 有り5486486 有り
default_locale 有り 有り4848 有り
description 有り 有り4848 有り
developer 無し 無し5252 有り
devtools_page 有り 無し54 無し 有り
homepage_url 有り 無し4848 有り
icons 有り 有り4848 有り
incognito 有り 無し4848 有り
manifest_version 有り 有り4848 有り
name 有り 有り4848 有り
omnibox 有り 無し52 無し 有り
optional_permissions 有り 無し5555 有り
options_ui40 無し4857277
page_action 有り8 有り8 948 有り 有り
permissions 有り 有り4848 有り
protocol_handlers 無し 無し5454 無し
short_name 有り 有り4848 有り
sidebar_action 無し 無し54 無し 有り
theme 有り 無し55 無し 無し
version 有り10 有り4848 有り
web_accessible_resources 有り 有り4848 有り

1. This key is mandatory in Microsoft Edge.

2. The 'persistent' property is mandatory.

3. Content scripts are not applied to tabs already open when the extension is loaded.

4. Content scripts won't be injected into empty iframes at 'document_start' even if you specify that value in 'run_at'.

5. Only the default content security policy is supported: "script-src 'self'; object-src 'self';".

6. Firefox does not support 'http://127.0.0.1' or 'http://localhost' as script sources: they must be served over HTTPS.

7. Options pages are always opened in a separate browser tab.

8. SVG icons are not supported.

9. 'default_icon' must be an object, with explicit sizes.

10. Valid Chrome versions are a subset of valid Firefox versions.

manifest.json の構文について、簡単な例を以下に示します。

{
  "applications": {
    "gecko": {
      "id": "addon@example.com",
      "strict_min_version": "42.0"
    }
  },

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

  "browser_action": {
    "default_icon": {
      "19": "button/geo-19.png",
      "38": "button/geo-38.png"
    },
    "default_title": "Whereami?",
    "default_popup": "popup/geo.html"
  },

  "commands": {
    "toggle-feature": {
      "suggested_key": {
        "default": "Ctrl+Shift+Y",
        "linux": "Ctrl+Shift+U"
      },
      "description": "Send a 'toggle-feature' event"
    }
  },

  "content_security_policy": "script-src 'self' https://example.com; object-src 'self'",

  "content_scripts": [
    {
      "exclude_matches": ["*://developer.mozilla.org/*"],
      "matches": ["*://*.mozilla.org/*"],
      "js": ["borderify.js"]
    }
  ],

  "default_locale": "en",

  "description": "...",

  "icons": {
    "48": "icon.png",
    "96": "icon@2x.png"
  },

  "manifest_version": 2,

  "name": "...",

  "page_action": {
    "default_icon": {
      "19": "button/geo-19.png",
      "38": "button/geo-38.png"
    },
    "default_title": "Whereami?",
    "default_popup": "popup/geo.html"
  },

  "permissions": ["webNavigation"],

  "version": "0.1",

  "web_accessible_resources": ["images/my-image.png"]
}

ドキュメントのタグと貢献者

 このページの貢献者: Uemmra3, hashedhyphen, lv7777, kmaglione
 最終更新者: Uemmra3,