manifest.json
Cet article décrit manifest.json pour les extensions web. Si vous cherchez des informations sur le manifeste.json dans les PWAs, consultez l'article Web App Manifest.
Le fichier manifest.json
est le seul fichier que chaque extension utilisant les API WebExtension doit contenir.
En utilisant manifest.json
, vous spécifiez les métadonnées basiques de votre extension comme son nom et sa version, et des fonctionnalités de votre extension comme les scripts en arrière-plan (les scripts de contenu et les actions du navigateur).
C'est un fichier au format JSON à une exception près : il peut contenir des commentaires de type "//
".
List of manifest.json keys
Les clés manifest.json
sont listées ci-dessous:
- author
- background
- browser_action
- browser_specific_settings
- chrome_settings_overrides
- chrome_url_overrides
- commands
- content_scripts
- content_security_policy
- default_locale
- description
- developer
- devtools_page
- dictionaries
- externally_connectable
- homepage_url
- icons
- incognito
- manifest_version
- name
- offline_enabled
- omnibox
- optional_permissions
- options_page
- options_ui
- page_action
- permissions
- protocol_handlers
- short_name
- sidebar_action
- storage
- theme
- theme_experiment
- user_scripts
- version
- version_name
- web_accessible_resources
Notes about manifest.json keys
"manifest_version"
,"version"
, and"name"
sont les seules clés obligatoires."default_locale"
doit être présent si le répertoire "_locales
" est présent et sinon doit être absent."browser_specific_settings"
n'est pas prise en charge dans Google Chrome
Accessing manifest.json keys at runtime
Vous pouvez accéder au manifest de votre extension depuis le JavaScript de l'extension en utilisant la fonction runtime.getManifest()
:
browser.runtime.getManifest().version;
Exemple
Le bloc ci-dessous contient la syntaxe de base de certaines clés communes du manifest
Note : Il ne s'agit pas d'un exemple à copier-coller. Le choix des clés dont vous aurez besoin dépend de l'extension que vous développez.
Pour des exemples complets d'extensions, voir Exemple d'extensions.
{
"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"]
}
Compatibilité du navigateur
BCD tables only load in the browser
Pour un aperçu complet de toutes les clés de manifeste et de leurs sous-clés, voir le tableau complet de compatibilité du navigateur manifest.json.
Voir aussi
permissions
JavaScript API