Estensioni, temi e applicazioni sono semplicemente pacchetti di risorse, raggruppati in un
file manifest.json
che descrive i contenuti del pacchetto. Il formato di questo file è generalmente stabile, ma a volte è necessario apportare modifiche che provocano errori per risolvere problemi importanti.
Gli sviluppatori devono specificare la versione del file manifest che specifica le destinazioni dei pacchetti impostando una chiave manifest_version
nei file manifest.
Versione corrente
Al momento gli sviluppatori devono specificare 'manifest_version': 2
:
{
...,
"manifest_version": 2,
...
}
La versione 1 del file manifest è stata ritirata in Chrome 18 e il supporto verrà eliminato gradualmente in base alla programmazione seguente.
Pianificazione dell'assistenza per la versione 1 dei manifest
Agosto 2012
- Il Web Store bloccherà la creazione di nuove estensioni del file manifest versione 1.
- Il Web Store consentirà gli aggiornamenti delle estensioni manifest versione 1 esistenti.
Marzo 2013
- Il Web Store bloccherà gli aggiornamenti alle estensioni della versione 1 del file manifest il 4 marzo 2013.
Aprile 2013
- Chrome 27 Beta interromperà la pacchettizzazione delle estensioni della versione 1 del manifest (o il loro caricamento per lo sviluppo).
Giugno 2013
- Il Web Store rimuoverà le estensioni della versione 1 del file manifest dalla bacheca, dai risultati di ricerca e dalle pagine delle categorie.
- Verranno inviate delle email di avviso a tutti gli sviluppatori con estensioni manifest versione 1 ancora nello store per ricordare loro che la pubblicazione di queste estensioni è stata annullata e per fornire istruzioni per l'aggiornamento.
Settembre 2013
- Nel Web Store verrà annullata la pubblicazione di tutte le estensioni della versione 1 del manifest.
- Le email di avviso finale verranno inviate agli sviluppatori con estensioni Manifest versione 1 ancora presenti nel Web Store.
- Chrome continuerà a caricare ed eseguire le estensioni della versione 1 del file manifest installate.
Gennaio 2014
- Chrome smetterà di caricare o eseguire le estensioni della versione 1 del manifest.
Modifiche tra la versione 1 e 2
- Un criterio di sicurezza dei contenuti è impostato su
`script-src 'self'; object-src 'self';
per impostazione predefinita. Ciò ha effetti diversi sugli sviluppatori, descritti dettagliatamente nella documentazione dicontent_security_policy
. - Le risorse di un pacchetto non sono più disponibili per impostazione predefinita per i siti web esterni (come
src
di un'immagine o tagscript
). Se vuoi che un sito web possa caricare una risorsa contenuta nel pacchetto, devi includerla esplicitamente nella lista consentita tramite l'attributo manifestweb_accessible_resources
. Ciò è particolarmente pertinente per le estensioni che creano un'interfaccia su un sito web tramite script di contenuti inseriti. - La proprietà
background_page
è stata sostituita con una proprietàbackground
che contiene una proprietàscripts
opage
. I dettagli sono disponibili nella documentazione sulle pagine degli eventi. Modifiche all'azione del browser:
- La chiave
browser_actions
nel manifest e l'APIchrome.browserActions
non sono più disponibili. Utilizza i valori singolaribrowser_action
echrome.browserAction
. - La proprietà
icons
dibrowser_action
è stata rimossa. Utilizza invece la proprietàdefault_icon
o browserAction.setIcon. - La proprietà
name
dibrowser_action
è stata rimossa. Utilizza invece la proprietàdefault_title
o browserAction.setTitle. - La proprietà
popup
dibrowser_action
è stata rimossa. Utilizza invece la proprietàdefault_popup
o browserAction.setPopup. - La proprietà
default_popup
dibrowser_action
non può più essere specificata come oggetto. Deve essere una stringa.
- La chiave
Modifiche all'azione della pagina:
- La chiave
page_actions
nel manifest e l'APIchrome.pageActions
non sono più disponibili. Utilizza i valori singolaripage_action
echrome.pageAction
. - La proprietà
icons
dipage_action
è stata rimossa. Utilizza invece la proprietàdefault_icon
o pageAction.setIcon. - La proprietà
name
dipage_action
è stata rimossa. Utilizza invece la proprietàdefault_title
o pageAction.setTitle. - La proprietà
popup
dipage_action
è stata rimossa. Usa invece la proprietàdefault_popup
o pageAction.setPopup. - La proprietà
default_popup
dipage_action
non può più essere specificata come oggetto. Deve essere una stringa.
- La chiave
L'API
chrome.self
è stata rimossa. Utilizzachrome.extension
.chrome.extension.getTabContentses
(!!!) echrome.extension.getExtensionTabs
non sono più disponibili. Utilizza invece extension.getViews.Port.tab
non c'è più. Utilizza runtime.Port.