Las extensiones, los temas y las aplicaciones son simplemente paquetes de recursos unidos
manifest.json
que describe el contenido del paquete. El formato de este archivo es el siguiente:
suelen ser estables, pero, de vez en cuando, deben realizarse cambios rotundos para abordar problemas importantes.
Los desarrolladores deben especificar a qué versión de la especificación del manifiesto se orienta el paquete
Configura una clave manifest_version
en sus manifiestos.
Versión actual
Actualmente, los desarrolladores deben especificar 'manifest_version': 2
:
{
...,
"manifest_version": 2,
...
}
La versión 1 del manifiesto dejó de estar disponible en Chrome 18 y se eliminará gradualmente de conformidad con la seguir el cronograma.
Programa de compatibilidad con la versión 1 del manifiesto
Agosto de 2012
- Web Store bloqueará la creación de nuevas extensiones del manifiesto de la versión 1.
- Web Store permitirá actualizar las extensiones existentes de la versión 1 del manifiesto.
Marzo de 2013
- Web Store bloqueará las actualizaciones de las extensiones del manifiesto de la versión 1 el 4 de marzo de 2013.
Abril de 2013
- Chrome 27 beta dejará de empaquetar las extensiones de la versión 1 del manifiesto (o las cargará para desarrollo).
Junio de 2013
- Web Store quitará las extensiones del manifiesto de la versión 1 del muro, de los resultados de la búsqueda y de las páginas de categorías.
- Ten en cuenta que se enviarán correos electrónicos a todos los desarrolladores que tengan extensiones de la versión 1 del manifiesto que aún se encuentren en la tienda recordarle que se anulará la publicación de estas extensiones y proporcionarle instrucciones de actualización.
Septiembre de 2013
- Web Store anulará la publicación de todas las extensiones de la versión 1 del manifiesto.
- Se enviarán correos electrónicos con el último aviso a los desarrolladores que aún tengan extensiones de la versión 1 del manifiesto en la Web Almacenamiento.
- Chrome seguirá cargando y ejecutando las extensiones instaladas del manifiesto versión 1.
Enero de 2014
- Chrome dejará de cargar o ejecutar las extensiones del manifiesto versión 1.
Cambios entre las versiones 1 y 2
- La política de seguridad del contenido se establece en
`script-src 'self'; object-src 'self';
de forma predeterminada. Esta tiene varios impactos en los desarrolladores, como se describe detalladamente en elcontent_security_policy
en la documentación de Google Cloud. - Los recursos de un paquete ya no están disponibles de forma predeterminada para sitios web externos (como
src
de un o una etiquetascript
). Si deseas que un sitio web pueda cargar un recurso contenido en tu deberás incluir este paquete de forma explícita en la lista de entidades permitidas a través del manifiestoweb_accessible_resources
. Esto es particularmente relevante para las extensiones que crean una interfaz en un sitio web. a través de secuencias de comandos de contenido insertadas. - La propiedad
background_page
se reemplazó por una propiedadbackground
que contiene ya sea una propiedadscripts
opage
. Los detalles están disponibles en las páginas del evento. en la documentación de Google Cloud. Cambios en las acciones del navegador:
- La clave
browser_actions
del manifiesto y la APIchrome.browserActions
desaparecen. Usa el En su lugar, los singularesbrowser_action
ychrome.browserAction
. - Se quitó la propiedad
icons
debrowser_action
. Usa la propiedaddefault_icon
. o browserAction.setIcon. - Se quitó la propiedad
name
debrowser_action
. Usa la propiedaddefault_title
. o browserAction.setTitle. - Se quitó la propiedad
popup
debrowser_action
. Utilizadefault_popup
propiedad o browserAction.setPopup en su lugar. - Ya no se puede especificar la propiedad
default_popup
debrowser_action
como un objeto. Integra debe ser una cadena.
- La clave
Cambios en las acciones de la página:
- La clave
page_actions
del manifiesto y la APIchrome.pageActions
desaparecen. Usa el En su lugar, los singularespage_action
ychrome.pageAction
. - Se quitó la propiedad
icons
depage_action
. Usa la propiedaddefault_icon
. pageAction.setIcon en su lugar. - Se quitó la propiedad
name
depage_action
. Usa la propiedaddefault_title
. pageAction.setTitle en su lugar. - Se quitó la propiedad
popup
depage_action
. Usa la propiedaddefault_popup
. o pageAction.setPopup. - Ya no se puede especificar la propiedad
default_popup
depage_action
como un objeto. Debe ser una cadena.
- La clave
Se quitó la API de
chrome.self
. En su lugar, usachrome.extension
.chrome.extension.getTabContentses
(!!!) ychrome.extension.getExtensionTabs
ya no están. Usa extension.getViews.Port.tab
ya no está. En su lugar, usa runtime.Port.