Extensies, thema's en applicaties zijn eenvoudigweg bundels bronnen, verpakt in een manifest.json bestand dat de inhoud van het pakket beschrijft. Het formaat van dit bestand is over het algemeen stabiel, maar af en toe moeten er belangrijke wijzigingen worden aangebracht om belangrijke problemen aan te pakken. Ontwikkelaars moeten opgeven welke versie van de manifestspecificatie hun pakketdoel is, door een sleutel manifest_version in hun manifesten in te stellen.
Huidige versie
Ontwikkelaars moeten momenteel 'manifest_version': 2 :
{
...,
"manifest_version": 2,
...
}
Manifestversie 1 is beëindigd in Chrome 18 en de ondersteuning wordt volgens het volgende schema uitgefaseerd.
Manifest versie 1 ondersteuningsschema
Augustus 2012
- De Web Store blokkeert het maken van nieuwe manifestversie 1-extensies.
- De Web Store staat updates van bestaande manifestversie 1-extensies toe.
Maart 2013
- De Web Store blokkeert updates voor manifestversie 1-extensies op 4 maart 2013.
april 2013
- Chrome 27 Bèta stopt met het verpakken van manifestversie 1-extensies (of laadt ze voor ontwikkeling).
Juni 2013
- De Web Store verwijdert manifestversie 1-extensies van de muur, zoekresultaten en categoriepagina's.
- Er worden kennisgevings-e-mails verzonden naar alle ontwikkelaars met manifestversie 1-extensies die zich nog in de winkel bevinden, waarin ze eraan worden herinnerd dat deze extensies niet meer worden gepubliceerd en waarin update-instructies worden gegeven.
september 2013
- De Web Store zal de publicatie van alle manifestversie 1-extensies ongedaan maken.
- E-mails met definitieve kennisgeving worden verzonden naar ontwikkelaars met manifestversie 1-extensies die zich nog in de Web Store bevinden.
- Chrome blijft geïnstalleerde manifestversie 1-extensies laden en uitvoeren.
Januari 2014
- Chrome stopt met het laden of uitvoeren van manifestversie 1-extensies.
Wijzigingen tussen versie 1 en 2
- Een inhoudsbeveiligingsbeleid is ingesteld op
`script-src 'self'; object-src 'self';standaard. Dit heeft verschillende gevolgen voor ontwikkelaars, die uitgebreid worden beschreven in decontent_security_policydocumentatie. - De bronnen van een pakket zijn niet langer standaard beschikbaar voor externe websites (als de
srcvan een afbeelding of eenscript). Als u wilt dat een website een bron in uw pakket kan laden, moet u deze expliciet op de toelatingslijst zetten via het manifestkenmerkweb_accessible_resources. Dit is met name relevant voor extensies die via geïnjecteerde contentscripts een interface op een website opbouwen. - De eigenschap
background_pageis vervangen door een eigenschapbackgrounddie eenscriptsofpageeigenschap bevat. Details zijn beschikbaar in de documentatie van Event Pages . Wijzigingen in browseractie:
- De
browser_actionssleutel in het manifest en dechrome.browserActionsAPI zijn verdwenen. Gebruik in plaats daarvan de enkelvoudigebrowser_actionenchrome.browserAction. - De eigenschap
iconsvanbrowser_actionis verwijderd. Gebruik in plaats daarvan de eigenschapdefault_iconof browserAction.setIcon . - De eigenschap
namevanbrowser_actionis verwijderd. Gebruik in plaats daarvan de eigenschapdefault_titleof browserAction.setTitle . - De
popupupeigenschap vanbrowser_actionis verwijderd. Gebruik in plaats daarvan de eigenschapdefault_popupof browserAction.setPopup . - De eigenschap
default_popupvanbrowser_actionkan niet langer als object worden opgegeven. Het moet een string zijn.
- De
Wijzigingen in pagina-acties:
- De
page_actionssleutel in het manifest en dechrome.pageActionsAPI zijn verdwenen. Gebruik in plaats daarvan de enkelvoudigepage_actionenchrome.pageAction. - De eigenschap
iconsvanpage_actionis verwijderd. Gebruik in plaats daarvan de eigenschapdefault_iconof pageAction.setIcon . - De eigenschap
namevanpage_actionis verwijderd. Gebruik in plaats daarvan de eigenschapdefault_titleof pageAction.setTitle . - De
popupupeigenschap vanpage_actionis verwijderd. Gebruik in plaats daarvan de eigenschapdefault_popupof pageAction.setPopup . - De eigenschap
default_popupvanpage_actionkan niet langer als object worden opgegeven. Het moet een string zijn.
- De
De
chrome.selfAPI is verwijderd. Gebruik in plaats daarvanchrome.extension.chrome.extension.getTabContentses(!!!) enchrome.extension.getExtensionTabszijn verdwenen. Gebruik in plaats daarvan extension.getViews .Port.tabis verdwenen. Gebruik in plaats daarvan runtime.Port .