Converteer een V2-manifest naar een V3-manifest
Het bestand manifest.json
vereist een iets andere indeling voor Manifest V3 dan voor Manifest V2. Op deze pagina worden wijzigingen beschreven die alleen van invloed zijn op het bestand manifest.json
. Maar veel van de wijzigingen in scripts en pagina's vereisen ook wijzigingen in het manifest. Deze wijzigingen worden gedekt door de migratietaken waarvoor deze nodig zijn.
Wijzig het manifestversienummer
Wijzig de waarde van het veld "manifest_version"
van 2 in 3.
{ ... "manifest_version": 2 ... }
{ ... "manifest_version": 3 ... }
Hostmachtigingen bijwerken
Hostmachtigingen in Manifest V3 zijn een apart veld; je specificeert ze niet in "permissions"
of in "optional_permissions"
.
Inhoudsscripts blijven onder "content_scripts.matches"
. Zie Injecteren met statische declaraties voor informatie over "content_scripts.matches"
.
{ ... "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": [ "*://*/*", ] ... }
Update webtoegankelijke bronnen
Voor het web toegankelijke bronnen zijn bestanden binnen een extensie die toegankelijk zijn via webpagina's of andere extensies. Zoals geïmplementeerd in Manifest V2, maakte het veld "web_accessible_resources"
extensies detecteerbaar door websites en aanvallers als de extensie ervoor koos bronnen vrij te geven. Dit creëerde mogelijkheden voor het nemen van vingerafdrukken of onbedoelde toegang tot bronnen.
Manifest V3 beperkt de blootstelling door te beperken welke websites en extensies toegang hebben tot bronnen in uw extensie. In plaats van een lijst met bestanden op te geven zoals voorheen, levert u nu een array van objecten op, die elk een reeks bronnen toewijzen aan een reeks URL's of extensie-ID's.
In het onderstaande voorbeeld worden webtoegankelijke bronnen tussen Manifest V2 en Manifest V3 vergeleken. In Manifest V2 waren de opgegeven bronnen standaard toegankelijk voor alle websites. In de Manifest V3-code die hieronder wordt weergegeven, zijn deze bronnen alleen beschikbaar voor https://example.com
, terwijl alleen bepaalde afbeeldingen beschikbaar zijn voor alle websites.
Zie Webtoegankelijke bronnen en Matchpatronen voor meer informatie.
{ ... "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/*" ] } ], ... }