manifest.json
Hinweis:
Dieser Artikel beschreibt manifest.json
für Web-Erweiterungen. Wenn Sie Informationen über manifest.json
in PWAs suchen, schauen Sie sich den Artikel Web App Manifest an.
Die Datei manifest.json
ist die einzige Datei, die jede Erweiterung benötigt, die WebExtension-APIs verwendet.
Mit manifest.json
geben Sie grundlegende Metadaten zu Ihrer Erweiterung an, wie beispielsweise den Namen und die Version, und können auch Aspekte der Funktionalität Ihrer Erweiterung spezifizieren (wie Hintergrundskripte, Inhaltsskripte und Browseraktionen).
Es ist eine im JSON-Formatierte Datei, mit einer Ausnahme: es dürfen //
-Stil Kommentare enthalten sein.
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 (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 obligatorischen Schlüssel."default_locale"
muss vorhanden sein, wenn das Verzeichnis_locales
vorhanden ist, und muss ansonsten 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 mit 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 soll nicht als kopierfertiges Beispiel verwendet werden. Die Auswahl der benötigten Schlüssel hängt von der Erweiterung ab, die Sie entwickeln.
Für vollständige Beispielerweiterungen sehen Sie sich Beispielfunktionen an.
{
"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
Siehe auch
permissions
JavaScript-API