manifest.json
Hinweis: Dieser Artikel beschreibt manifest.json
für Web-Erweiterungen. Wenn Sie nach Informationen über die manifest.json
in PWAs suchen, sehen Sie sich den Artikel Web App Manifest an.
Die Datei manifest.json
ist die einzige Datei, die jede Erweiterung, die WebExtension-APIs verwendet, enthalten muss.
Mit manifest.json
geben Sie grundlegende Metadaten zu Ihrer Erweiterung an, wie z. B. den Namen und die Version, und können auch Aspekte der Funktionalität Ihrer Erweiterung spezifizieren (wie Hintergrundskripte, Inhalts-Skripte und Browser-Aktionen).
Es handelt sich um eine JSON-formatierte Datei, mit einer Ausnahme: Es ist erlaubt, "//
"-Stil-Kommentare zu enthalten.
Liste der manifest.json-Schlüssel
Dies sind die manifest.json
-Schlüssel; diese Schlüssel sind in Manifest V2 und höher verfügbar, es sei denn, anders angegeben:
- action (Manifest V3 und höher)
- author
- background
- browser_action (nur Manifest V2)
- browser_specific_settings
- chrome_settings_overrides
- chrome_url_overrides
- commands
- content_scripts
- content_security_policy
- declarative_net_request
- default_locale
- description
- developer
- devtools_page
- dictionaries
- externally_connectable
- homepage_url
- host_permissions (Manifest V3 und höher)
- icons
- incognito
- manifest_version
- name
- offline_enabled
- omnibox
- optional_host_permissions (Manifest V3 und höher)
- optional_permissions
- options_page
- options_ui
- page_action (nur Manifest V2 in Chrome)
- permissions
- protocol_handlers
- short_name
- sidebar_action
- storage
- theme
- theme_experiment
- user_scripts (nur Manifest V2)
- version
- version_name
- web_accessible_resources
Hinweise zu manifest.json-Schlüsseln
"manifest_version"
,"version"
und"name"
sind die einzigen verpflichtenden Schlüssel."default_locale"
muss vorhanden sein, wenn das "_locales
"-Verzeichnis vorhanden ist, und muss andernfalls fehlen."browser_specific_settings"
wird in Google Chrome nicht unterstützt.
Zugriff auf manifest.json-Schlüssel zur Laufzeit
Sie können das Manifest Ihrer Erweiterung aus dem JavaScript der Erweiterung mit der Funktion runtime.getManifest()
abrufen:
browser.runtime.getManifest().version;
Beispiel
Der folgende Block zeigt die grundlegende Syntax für einige gängige Manifest-Schlüssel.
Hinweis: Dies ist nicht als kopierfertiges Beispiel gedacht. Die Auswahl der benötigten Schlüssel hängt von der zu entwickelnden Erweiterung ab.
Für vollständige Beispiel-Erweiterungen siehe Beispiel-Erweiterungen.
{
"browser_specific_settings": {
"gecko": {
"id": "addon@example.com",
"strict_min_version": "42.0"
}
},
"background": {
"scripts": ["jquery.js", "my-background.js"]
},
"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",
"user_scripts": {
"api_script": "apiscript.js"
},
"web_accessible_resources": ["images/my-image.png"]
}
Browser-Kompatibilität
BCD tables only load in the browser
Für einen vollständigen Überblick über alle Manifest-Schlüssel und deren Unter-Schlüssel, siehe die vollständige manifest.json Browser-Kompatibilitätstabelle.
Siehe auch
permissions
JavaScript API