Estensioni, temi e applicazioni sono semplicemente pacchetti di risorse, con una serie di
manifest.json
che descrive i contenuti del pacchetto. Il formato di questo file è
in generale stabile, ma a volte è necessario apportare modifiche che provocano errori per risolvere problemi importanti.
Gli sviluppatori devono specificare quale versione della specifica del file manifest è destinata ai pacchetti
impostando una chiave manifest_version
nei relativi 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à gradualmente eliminato in base alle seguendo la pianificazione.
Pianificazione dell'assistenza di Manifest versione 1
Agosto 2012
- Il Web Store bloccherà la creazione di nuove estensioni di versione 1 del file manifest.
- Il Web Store consentirà gli aggiornamenti delle estensioni esistenti della versione 1 del file manifest.
Marzo 2013
- Il 4 marzo 2013, il Web Store bloccherà gli aggiornamenti delle estensioni della versione 1 del file manifest.
Aprile 2013
- Chrome 27 Beta smetterà di pacchettizzare le estensioni della versione 1 del file manifest (o le caricherà per sviluppo).
Giugno 2013
- Il Web Store rimuoverà le estensioni di versione 1 del file manifest dalla bacheca, dai risultati di ricerca e pagine di categoria.
- Le email di avviso verranno inviate a tutti gli sviluppatori con estensioni della versione 1 del file manifest ancora presenti nello store per ricordare loro che la pubblicazione di queste estensioni verrà annullata e per fornire istruzioni per l'aggiornamento.
Settembre 2013
- Il Web Store annullerà la pubblicazione di tutte le estensioni versione 1 del file manifest.
- Le email di avviso finale verranno inviate agli sviluppatori con estensioni della versione 1 del file manifest ancora presenti sul web Archivia.
- Chrome continuerà a caricare ed eseguire le estensioni della versione 1 del file manifest installate.
Gennaio 2014
- Chrome interromperà il caricamento o l'esecuzione delle estensioni della versione 1 del file manifest.
Modifiche tra le versioni 1 e 2
- Un criterio di sicurezza del contenuto è impostato su
`script-src 'self'; object-src 'self';
per impostazione predefinita. Questo ha una serie di effetti per gli sviluppatori, descritta in dettaglio nelcontent_security_policy
documentazione. - Per impostazione predefinita, le risorse di un pacchetto non sono più disponibili per i siti web esterni (come
src
di un immagine o un tagscript
). Se desideri che un sito web sia in grado di caricare una risorsa contenuta in dovrai inserirlo esplicitamente nella lista consentita tramite il file manifest diweb_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 o una proprietàscripts
opage
. I dettagli sono disponibili nelle pagine degli eventi documentazione. Modifiche alle azioni del browser:
- La chiave
browser_actions
nel manifest e l'APIchrome.browserActions
sono state eliminate. Utilizza la al singolarebrowser_action
echrome.browserAction
. - La proprietà
icons
dibrowser_action
è stata rimossa. Utilizzare la proprietàdefault_icon
o browserAction.setIcon. - La proprietà
name
dibrowser_action
è stata rimossa. Utilizzare la proprietàdefault_title
o browserAction.setTitle. - La proprietà
popup
dibrowser_action
è stata rimossa. Utilizza ildefault_popup
o browserAction.setPopup. - La proprietà
default_popup
dibrowser_action
non può più essere specificata come oggetto. it deve essere una stringa.
- La chiave
Modifiche alle azioni sulla pagina:
- La chiave
page_actions
nel manifest e l'APIchrome.pageActions
sono state eliminate. Utilizza la al singolarepage_action
echrome.pageAction
. - La proprietà
icons
dipage_action
è stata rimossa. Utilizza la proprietàdefault_icon
oppure pageAction.setIcon. - La proprietà
name
dipage_action
è stata rimossa. Utilizza la proprietàdefault_title
oppure pageAction.setTitle. - La proprietà
popup
dipage_action
è stata rimossa. Utilizzare la proprietàdefault_popup
o pageAction.setPopup. - La proprietà
default_popup
dipage_action
non può più essere specificata come oggetto. Deve una stringa.
- La chiave
L'API
chrome.self
è stata rimossa. Usa invecechrome.extension
.chrome.extension.getTabContentses
(!!!) echrome.extension.getExtensionTabs
non sono più disponibili. Utilizza le funzionalità di extension.getViews.Port.tab
non c'è più. Usa invece runtime.Port.