Werk het manifest bij

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 V2
{
  ...
  "manifest_version": 2
  ...
}
Manifest V3
{
  ...
  "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" .

Manifest V2
{
  ...
  "permissions": [
    "tabs",
    "bookmarks",
    "https://www.blogger.com/",
  ],
  "optional_permissions": [
    "unlimitedStorage",
    "*://*/*",
  ]
  ...
}
Manifest V3
{
  ...
  "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 onderstaande Manifest V3-code 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.

Manifest V2
{
  ...
  "web_accessible_resources": [
    "images/*",
    "style/extension.css",
    "script/extension.js"
  ],
  ...
}
Manifest V3
{
  ...
    "web_accessible_resources": [
    {
      "resources": [
        "images/*"
      ],
      "matches": [
        "*://*/*"
      ]
    },
    {
      "resources": [
        "style/extension.css",
        "script/extension.js"
      ],
      "matches": [
        "https://example.com/*"
      ]
    }
  ],
  ...
}