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_policy
documentatie. - De bronnen van een pakket zijn niet langer standaard beschikbaar voor externe websites (als de
src
van 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_page
is vervangen door een eigenschapbackground
die eenscripts
ofpage
eigenschap bevat. Details zijn beschikbaar in de documentatie van Event Pages . Wijzigingen in browseractie:
- De
browser_actions
sleutel in het manifest en dechrome.browserActions
API zijn verdwenen. Gebruik in plaats daarvan de enkelvoudigebrowser_action
enchrome.browserAction
. - De eigenschap
icons
vanbrowser_action
is verwijderd. Gebruik in plaats daarvan de eigenschapdefault_icon
of browserAction.setIcon . - De eigenschap
name
vanbrowser_action
is verwijderd. Gebruik in plaats daarvan de eigenschapdefault_title
of browserAction.setTitle . - De
popup
upeigenschap vanbrowser_action
is verwijderd. Gebruik in plaats daarvan de eigenschapdefault_popup
of browserAction.setPopup . - De eigenschap
default_popup
vanbrowser_action
kan niet langer als object worden opgegeven. Het moet een string zijn.
- De
Wijzigingen in pagina-acties:
- De
page_actions
sleutel in het manifest en dechrome.pageActions
API zijn verdwenen. Gebruik in plaats daarvan de enkelvoudigepage_action
enchrome.pageAction
. - De eigenschap
icons
vanpage_action
is verwijderd. Gebruik in plaats daarvan de eigenschapdefault_icon
of pageAction.setIcon . - De eigenschap
name
vanpage_action
is verwijderd. Gebruik in plaats daarvan de eigenschapdefault_title
of pageAction.setTitle . - De
popup
upeigenschap vanpage_action
is verwijderd. Gebruik in plaats daarvan de eigenschapdefault_popup
of pageAction.setPopup . - De eigenschap
default_popup
vanpage_action
kan niet langer als object worden opgegeven. Het moet een string zijn.
- De
De
chrome.self
API is verwijderd. Gebruik in plaats daarvanchrome.extension
.chrome.extension.getTabContentses
(!!!) enchrome.extension.getExtensionTabs
zijn verdwenen. Gebruik in plaats daarvan extension.getViews .Port.tab
is verdwenen. Gebruik in plaats daarvan runtime.Port .