manifest.json

Die Datei manifest.json ist eine JSON-formatierte Datei, und die einzige Datei, die eine Erweiterung, die das WebExtensions API verwendet, unterstützt.

Durch das Verwenden von manifest.json, legst du Metadaten, wie zum Beispiel Name und Version, für deine Erweiterung fest, und kannst auch einige Aspekte der Funktionalität deiner Erweiterung,wie zum Beispiel Hintergrundskripte, Inhaltsskripte und Browserationen.

Manifest.json keys sind unten gelistet:

 

"manifest_version", "version", und "name" sind die einzigen verpflichtenden Keys. "default_locale" muss vorhanden sein, wenn der "_locales"-Ordner vorhanden ist und darf sonst nicht vorhanden sein. "applications" wird von Google Chrome nicht unterstützt, und ist verpflichtend in Firefox vor Firefox 48 und Firefox für Android.

Browserkompatiblität

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxOperaSafariFirefox für Android
authorChrome Vollständige Unterstützung JaEdge Vollständige Unterstützung 14
Hinweise
Vollständige Unterstützung 14
Hinweise
Hinweise This key is mandatory in Microsoft Edge.
Firefox Vollständige Unterstützung 52Opera Vollständige Unterstützung JaSafari Vollständige Unterstützung 14
Hinweise
Vollständige Unterstützung 14
Hinweise
Hinweise Not displayed in Safari Extensions preferences.
Firefox Android Vollständige Unterstützung 52
backgroundChrome Vollständige Unterstützung JaEdge Vollständige Unterstützung 14Firefox Vollständige Unterstützung 48Opera Vollständige Unterstützung JaSafari Vollständige Unterstützung 14Firefox Android Vollständige Unterstützung 48
browser_actionChrome Vollständige Unterstützung Ja
Hinweise
Vollständige Unterstützung Ja
Hinweise
Hinweise If an extension defines a browser action, it is not allowed to define a page action as well.
Edge Vollständige Unterstützung 14Firefox Vollständige Unterstützung 48Opera Vollständige Unterstützung Ja
Hinweise
Vollständige Unterstützung Ja
Hinweise
Hinweise If an extension defines a browser action, it is not allowed to define a page action as well.
Safari Vollständige Unterstützung 14
Hinweise
Vollständige Unterstützung 14
Hinweise
Hinweise If an extension defines a browser action, it is not allowed to define a page action as well.
Firefox Android Vollständige Unterstützung 55
browser_specific_settingsChrome Keine Unterstützung NeinEdge Keine Unterstützung 15 — 79Firefox Vollständige Unterstützung 48
Vollständige Unterstützung 48
Vollständige Unterstützung 42
Hinweise Alternativer Name
Hinweise Mandatory before Firefox 48.
Alternativer Name Verwendet den nicht standardisierten Namen: applications
Opera Keine Unterstützung NeinSafari Teilweise Unterstützung 14
Hinweise
Teilweise Unterstützung 14
Hinweise
Hinweise Supports strict_min_version and strict_max_version in a safari block.
Firefox Android Vollständige Unterstützung 48
Vollständige Unterstützung 48
Vollständige Unterstützung 42
Hinweise Alternativer Name
Hinweise Mandatory before Firefox 48.
Alternativer Name Verwendet den nicht standardisierten Namen: applications
chrome_settings_overridesChrome Vollständige Unterstützung JaEdge Vollständige Unterstützung 79Firefox Vollständige Unterstützung 55Opera Keine Unterstützung NeinSafari Keine Unterstützung NeinFirefox Android Keine Unterstützung Nein
chrome_url_overridesChrome Vollständige Unterstützung JaEdge Vollständige Unterstützung 79Firefox Vollständige Unterstützung 54Opera Keine Unterstützung NeinSafari Keine Unterstützung NeinFirefox Android Keine Unterstützung Nein
commandsChrome Vollständige Unterstützung JaEdge Vollständige Unterstützung 79Firefox Vollständige Unterstützung 48Opera Vollständige Unterstützung JaSafari Vollständige Unterstützung 14
Hinweise
Vollständige Unterstützung 14
Hinweise
Hinweise Ability to change the keyboard shortcut for a command not supported.
Firefox Android Keine Unterstützung Nein
content_scriptsChrome Vollständige Unterstützung Ja
Hinweise
Vollständige Unterstützung Ja
Hinweise
Hinweise Content scripts are not applied to tabs already open when the extension is loaded.
Edge Vollständige Unterstützung 14Firefox Vollständige Unterstützung 48Opera Vollständige Unterstützung Ja
Hinweise
Vollständige Unterstützung Ja
Hinweise
Hinweise Content scripts are not applied to tabs already open when the extension is loaded.
Safari Vollständige Unterstützung 14
Hinweise
Vollständige Unterstützung 14
Hinweise
Hinweise Content scripts are not applied to tabs until the user grants permission via the extension's access popover in the toolbar.
Firefox Android Vollständige Unterstützung 48
content_security_policyChrome Vollständige Unterstützung JaEdge Vollständige Unterstützung 14
Hinweise
Vollständige Unterstützung 14
Hinweise
Hinweise Only the default content security policy is supported: "script-src 'self'; object-src 'self';".
Firefox Vollständige Unterstützung 48
Hinweise
Vollständige Unterstützung 48
Hinweise
Hinweise Firefox does not support 'http://127.0.0.1' or 'http://localhost' as script sources: they must be served over HTTPS.
Opera Vollständige Unterstützung JaSafari Vollständige Unterstützung 14Firefox Android Keine Unterstützung Nein
default_localeChrome Vollständige Unterstützung JaEdge Vollständige Unterstützung 14Firefox Vollständige Unterstützung 48Opera Vollständige Unterstützung JaSafari Vollständige Unterstützung 14Firefox Android Vollständige Unterstützung 48
descriptionChrome Vollständige Unterstützung JaEdge Vollständige Unterstützung 14Firefox Vollständige Unterstützung 48Opera Vollständige Unterstützung JaSafari Vollständige Unterstützung 14Firefox Android Vollständige Unterstützung 48
developerChrome Keine Unterstützung NeinEdge Keine Unterstützung NeinFirefox Vollständige Unterstützung 52Opera Vollständige Unterstützung JaSafari Keine Unterstützung NeinFirefox Android Vollständige Unterstützung 52
devtools_pageChrome Vollständige Unterstützung JaEdge Vollständige Unterstützung 79Firefox Vollständige Unterstützung 54Opera Vollständige Unterstützung JaSafari Keine Unterstützung NeinFirefox Android Keine Unterstützung Nein
externally_connectableChrome Vollständige Unterstützung JaEdge Vollständige Unterstützung 79Firefox Keine Unterstützung Nein
Hinweise
Keine Unterstützung Nein
Hinweise
Hinweise See bug 1319168.
Opera Vollständige Unterstützung JaSafari Keine Unterstützung NeinFirefox Android Keine Unterstützung Nein
homepage_urlChrome Vollständige Unterstützung JaEdge Vollständige Unterstützung 79Firefox Vollständige Unterstützung 48Opera Vollständige Unterstützung JaSafari Vollständige Unterstützung 14
Hinweise
Vollständige Unterstützung 14
Hinweise
Hinweise Not displayed in Safari Extensions preferences.
Firefox Android Vollständige Unterstützung 48
iconsChrome Vollständige Unterstützung Ja
Hinweise
Vollständige Unterstützung Ja
Hinweise
Hinweise Chrome does not support SVG format for icons. It is recommended to use PNG images.
Edge Vollständige Unterstützung 14Firefox Vollständige Unterstützung 48Opera Vollständige Unterstützung JaSafari Vollständige Unterstützung 14
Hinweise
Vollständige Unterstützung 14
Hinweise
Hinweise SVG icons are not supported.
Firefox Android Vollständige Unterstützung 48
incognitoChrome Vollständige Unterstützung JaEdge Vollständige Unterstützung ≤18Firefox Vollständige Unterstützung 48Opera Vollständige Unterstützung JaSafari Keine Unterstützung NeinFirefox Android Vollständige Unterstützung 48
manifest_versionChrome Vollständige Unterstützung 4Edge Vollständige Unterstützung 14Firefox Vollständige Unterstützung 48Opera Vollständige Unterstützung 15Safari Vollständige Unterstützung 14Firefox Android Vollständige Unterstützung 48
nameChrome Vollständige Unterstützung JaEdge Vollständige Unterstützung 14Firefox Vollständige Unterstützung 48Opera Vollständige Unterstützung JaSafari Vollständige Unterstützung 14Firefox Android Vollständige Unterstützung 48
offline_enabledChrome Vollständige Unterstützung JaEdge Vollständige Unterstützung 79Firefox Keine Unterstützung NeinOpera Vollständige Unterstützung JaSafari Keine Unterstützung NeinFirefox Android Keine Unterstützung Nein
omniboxChrome Vollständige Unterstützung JaEdge Vollständige Unterstützung 79Firefox Vollständige Unterstützung 52Opera Vollständige Unterstützung JaSafari Keine Unterstützung NeinFirefox Android Keine Unterstützung Nein
optional_permissionsChrome Vollständige Unterstützung JaEdge Vollständige Unterstützung 79Firefox Vollständige Unterstützung 55Opera Vollständige Unterstützung JaSafari Vollständige Unterstützung 14Firefox Android Vollständige Unterstützung 55
options_page
Veraltet
Chrome Vollständige Unterstützung JaEdge Vollständige Unterstützung 14Firefox Keine Unterstützung NeinOpera Vollständige Unterstützung 15Safari Vollständige Unterstützung 14Firefox Android Keine Unterstützung Nein
options_uiChrome Vollständige Unterstützung 40Edge Vollständige Unterstützung 79Firefox Vollständige Unterstützung 48Opera Vollständige Unterstützung 27Safari Vollständige Unterstützung 14Firefox Android Vollständige Unterstützung 57
page_actionChrome Vollständige Unterstützung Ja
Hinweise
Vollständige Unterstützung Ja
Hinweise
Hinweise If an extension defines a page action, it is not allowed to define a browser action as well.
Vollständige Unterstützung 49
Hinweise
Hinweise Since Chrome 49, page actions are displayed on the toolbar, rather than in the address bar.
Edge Vollständige Unterstützung 14Firefox Vollständige Unterstützung 48Opera Vollständige Unterstützung Ja
Hinweise
Vollständige Unterstützung Ja
Hinweise
Hinweise If an extension defines a page action, it is not allowed to define a browser action as well.
Safari Vollständige Unterstützung 14
Hinweise
Vollständige Unterstützung 14
Hinweise
Hinweise If an extension defines a page action, it is not allowed to define a browser action as well.
Firefox Android Vollständige Unterstützung Ja
permissionsChrome Vollständige Unterstützung JaEdge Vollständige Unterstützung 14Firefox Vollständige Unterstützung 48Opera Vollständige Unterstützung JaSafari Vollständige Unterstützung 14Firefox Android Vollständige Unterstützung 48
protocol_handlersChrome Keine Unterstützung NeinEdge Keine Unterstützung NeinFirefox Vollständige Unterstützung 54Opera Keine Unterstützung NeinSafari Keine Unterstützung NeinFirefox Android Vollständige Unterstützung 54
short_nameChrome Vollständige Unterstützung JaEdge Vollständige Unterstützung 14Firefox Vollständige Unterstützung 48Opera Vollständige Unterstützung JaSafari Vollständige Unterstützung 14Firefox Android Vollständige Unterstützung 48
sidebar_actionChrome Keine Unterstützung NeinEdge Keine Unterstützung NeinFirefox Vollständige Unterstützung 54Opera Vollständige Unterstützung 30Safari Keine Unterstützung NeinFirefox Android Keine Unterstützung Nein
storageChrome Vollständige Unterstützung JaEdge Vollständige Unterstützung 79Firefox Keine Unterstützung NeinOpera Keine Unterstützung NeinSafari Vollständige Unterstützung 14Firefox Android Keine Unterstützung Nein
themeChrome Vollständige Unterstützung JaEdge Vollständige Unterstützung 79Firefox Vollständige Unterstützung 55Opera Keine Unterstützung NeinSafari Keine Unterstützung NeinFirefox Android Vollständige Unterstützung Ja
theme_experiment
ExperimentellNicht standardisiert
Chrome Keine Unterstützung NeinEdge Keine Unterstützung NeinFirefox Vollständige Unterstützung 63Opera Keine Unterstützung NeinSafari Keine Unterstützung NeinFirefox Android Keine Unterstützung Nein
user_scriptsChrome Vollständige Unterstützung JaEdge Vollständige Unterstützung 79Firefox Vollständige Unterstützung 68Opera Keine Unterstützung NeinSafari Keine Unterstützung NeinFirefox Android Vollständige Unterstützung 68
versionChrome Vollständige Unterstützung Ja
Hinweise
Vollständige Unterstützung Ja
Hinweise
Hinweise Valid Chrome versions are a subset of valid Firefox versions.
Edge Vollständige Unterstützung 14Firefox Vollständige Unterstützung 48Opera Vollständige Unterstützung JaSafari Vollständige Unterstützung 14Firefox Android Vollständige Unterstützung 48
version_nameChrome Vollständige Unterstützung JaEdge Vollständige Unterstützung 79Firefox Keine Unterstützung NeinOpera Vollständige Unterstützung JaSafari Vollständige Unterstützung 14Firefox Android Keine Unterstützung Nein
web_accessible_resourcesChrome Vollständige Unterstützung JaEdge Vollständige Unterstützung 14Firefox Vollständige Unterstützung 48Opera Vollständige Unterstützung JaSafari Vollständige Unterstützung 14Firefox Android Vollständige Unterstützung 48

Legende

Vollständige Unterstützung  
Vollständige Unterstützung
Teilweise Unterstützung  
Teilweise Unterstützung
Keine Unterstützung  
Keine Unterstützung
Experimentell. Das Verhalten kann sich zukünftig ändern.
Experimentell. Das Verhalten kann sich zukünftig ändern.
Nicht standardisiert. Erwarte schlechte browserübergreifende Unterstützung.
Nicht standardisiert. Erwarte schlechte browserübergreifende Unterstützung.
Veraltet. Nicht für den Einsatz in neuen Webseiten gedacht.
Veraltet. Nicht für den Einsatz in neuen Webseiten gedacht.
Siehe Implementierungshinweise.
Siehe Implementierungshinweise.
Verwendet einen nicht standardisierten Namen.
Verwendet einen nicht standardisierten Namen.

Beispiel

Hier ein kurzes Syntax-Beispiel für 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"]
}