Convertir un fichier manifeste V2 en fichier manifeste V3
Le fichier manifest.json
nécessite un format légèrement différent pour le fichier manifeste V3 que pour le fichier manifeste V2. Cette page décrit les modifications qui ne concernent que le fichier manifest.json
. Toutefois, de nombreuses modifications apportées aux scripts et aux pages nécessitent également des modifications du fichier manifeste. Ces modifications sont couvertes par les tâches de migration qui les nécessitent.
Modifier le numéro de version du fichier manifeste
Remplacez la valeur de 2 par 3 dans le champ "manifest_version"
.
{ ... "manifest_version": 2 ... }
{ ... "manifest_version": 3 ... }
Modifier les autorisations de l'hôte
Les autorisations d'accès à l'hôte dans le fichier manifeste V3 sont un champ distinct. Vous ne les spécifiez pas dans "permissions"
ni dans "optional_permissions"
.
Les scripts de contenu restent sous "content_scripts.matches"
. Pour en savoir plus sur "content_scripts.matches"
, consultez Injecter avec des déclarations statiques.
{ ... "permissions": [ "tabs", "bookmarks", "https://www.blogger.com/", ], "optional_permissions": [ "unlimitedStorage", "*://*/*", ] ... }
{ ... "permissions": [ "tabs", "bookmarks" ], "optional_permissions": [ "unlimitedStorage" ], "host_permissions": [ "https://www.blogger.com/", ], "optional_host_permissions": [ "*://*/*", ] ... }
Mettre à jour les ressources accessibles sur le Web
Les ressources accessibles sur le Web sont des fichiers d'une extension auxquels peuvent accéder des pages Web ou d'autres extensions. Comme implémenté dans Manifest V2, le champ "web_accessible_resources"
rendait les extensions détectables par les sites Web et les pirates informatiques si l'extension choisissait d'exposer des ressources. Cela a créé des possibilités d'empreinte ou d'accès aux ressources non intentionnel.
Manifest V3 limite l'exposition en restreignant les sites Web et les extensions autorisés à accéder aux ressources de votre extension. Au lieu de fournir une liste de fichiers comme auparavant, vous devez désormais fournir un tableau d'objets, chacun mappant un ensemble de ressources à un ensemble d'URL ou d'ID d'extension.
L'exemple ci-dessous compare les ressources accessibles sur le Web entre Manifest V2 et Manifest V3. Dans Manifest V2, toutes les ressources spécifiées étaient accessibles par défaut à tous les sites Web. Dans le code du fichier manifeste V3 présenté ci-dessous, ces ressources ne sont disponibles que pour https://example.com
, tandis que seules certaines images sont disponibles pour tous les sites Web.
Pour en savoir plus, consultez les pages Ressources accessibles sur le Web et Formats de correspondance.
{ ... "web_accessible_resources": [ "images/*", "style/extension.css", "script/extension.js" ], ... }
{ ... "web_accessible_resources": [ { "resources": [ "images/*" ], "matches": [ "*://*/*" ] }, { "resources": [ "style/extension.css", "script/extension.js" ], "matches": [ "https://example.com/*" ] } ], ... }