manifest.json
Hinweis:
Dieser Artikel beschreibt manifest.json für Web-Erweiterungen. Wenn Sie Informationen zu manifest.json in PWAs suchen, lesen Sie den Artikel über das Web App Manifest.
Die Datei manifest.json ist die einzige Datei, die jede Erweiterung, die WebExtension-APIs verwendet, enthalten muss.
Mithilfe von manifest.json geben Sie grundlegende Metadaten zu Ihrer Erweiterung an, wie etwa den Namen und die Version. Sie können auch Aspekte der Funktionalität Ihrer Erweiterung bestimmen (wie Hintergrundskripte, Inhalts-Skripte und Browser-Aktionen).
Es ist eine im JSON-Format gehaltene Datei, mit einer Ausnahme: Es sind //-Kommentare erlaubt.
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, sofern nicht anders angegeben:
- action (nur 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
- dark_theme
- declarative_net_request
- default_locale
- description
- developer
- devtools_page
- dictionaries
- externally_connectable (nicht unterstützt in Firefox)
- homepage_url
- host_permissions (nur Manifest V3 und höher)
- icons
- incognito
- manifest_version
- name
- omnibox
- optional_host_permissions (nur Manifest V3 und höher)
- optional_permissions
- options_page
- options_ui
- page_action (nur Manifest V2 in Chrome)
- permissions
- protocol_handlers (nur Firefox)
- sandbox
- short_name
- sidebar_action
- storage (nicht unterstützt in Firefox)
- theme
- theme_experiment (nur Firefox) (experimentell)
- 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 obligatorischen 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 auf das Manifest Ihrer Erweiterung aus dem JavaScript der Erweiterung mithilfe der Funktion runtime.getManifest() zugreifen:
browser.runtime.getManifest().version;
Beispiel
Der folgende Block zeigt die grundlegende Syntax für einige übliche Manifest-Schlüssel.
Hinweis: Dies ist nicht als kopierbares Beispiel gedacht. Die Auswahl der benötigten Schlüssel hängt von der Erweiterung ab, die Sie entwickeln.
Für vollständige Beispiel-Erweiterungen siehe Beispiel-Erweiterungen.
{
"browser_specific_settings": {
"gecko": {
"id": "@addon-example",
"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
Siehe auch
permissionsJavaScript-API