Erweiterungen, Designs und Anwendungen sind einfache Ressourcenbündel, die in einer manifest.json
-Datei zusammengefasst sind, die den Inhalt des Pakets beschreibt. Das Format dieser Datei ist im Allgemeinen stabil. Gelegentlich müssen jedoch funktionsgefährdende Änderungen vorgenommen werden, um wichtige Probleme zu beheben.
Entwickler sollten angeben, auf welche Version der Manifestspezifikation ihr Paket ausgerichtet ist, indem sie in ihren Manifesten einen manifest_version
-Schlüssel festlegen.
Aktuelle Version
Entwickler sollten derzeit 'manifest_version': 2
angeben:
{
...,
"manifest_version": 2,
...
}
Manifestversion 1 wurde in Chrome 18 eingestellt und die Unterstützung wird gemäß dem folgenden Zeitplan eingestellt.
Supportzeitplan für Manifestversion 1
August 2012
- Der Web Store blockiert die Erstellung neuer Manifest-Erweiterungen der Version 1.
- Der Web Store lässt Updates für vorhandene Erweiterungen der Manifestversion 1 zu.
März 2013
- Der Web Store blockiert am 4. März 2013 Updates für Manifestversion 1-Erweiterungen.
April 2013
- Chrome 27 Beta beendet das Packen von Manifestversion 1-Erweiterungen und lädt sie nicht mehr für die Entwicklung.
Juni 2013
- Der Web Store wird Manifest-Version 1-Erweiterungen von der Blockierungsbenachrichtigung, den Suchergebnissen und den Kategorieseiten entfernen.
- Alle Entwickler mit Manifestversion 1-Erweiterungen, die sich noch im Store befinden, werden per E-Mail darauf hingewiesen, dass die Veröffentlichung dieser Erweiterungen aufgehoben wird, und eine Aktualisierungsanleitung enthalten.
September 2013
- Die Veröffentlichung aller Manifestversion 1-Erweiterungen wird im Web Store aufgehoben.
- E-Mails mit letzten Benachrichtigungen werden an Entwickler gesendet, deren Erweiterungen der Manifestversion 1 noch im Web Store vorhanden sind.
- Chrome wird weiterhin installierte Manifestversion 1-Erweiterungen laden und ausführen.
Januar 2014
- Chrome wird keine Manifestversion 1-Erweiterungen mehr laden oder ausführen.
Änderungen zwischen Version 1 und 2
- Eine Content Security Policy ist standardmäßig auf
`script-src 'self'; object-src 'self';
gesetzt. Dies hat eine Vielzahl von Auswirkungen auf Entwickler. Diese werden ausführlich in der Dokumentation zucontent_security_policy
beschrieben. - Die Ressourcen eines Pakets sind für externe Websites nicht mehr standardmäßig verfügbar (als
src
eines Images oder alsscript
-Tag). Wenn Sie möchten, dass eine Website eine in Ihrem Paket enthaltene Ressource laden kann, müssen Sie sie über das Manifestattributweb_accessible_resources
explizit auf die Zulassungsliste setzen. Dies gilt insbesondere für Erweiterungen, die eine Schnittstelle auf einer Website über eingefügte Inhaltsskripte aufbauen. - Das Attribut
background_page
wurde durch einbackground
-Attribut ersetzt, das entweder einscripts
- oder einpage
-Attribut enthält. Details finden Sie in der Dokumentation zu Ereignisseiten. Änderungen bei Browseraktionen:
- Der Schlüssel
browser_actions
im Manifest und diechrome.browserActions
API sind nicht mehr verfügbar. Verwenden Sie stattdessenbrowser_action
undchrome.browserAction
im Singular. - Die Eigenschaft
icons
vonbrowser_action
wurde entfernt. Verwenden Sie stattdessen das Attributdefault_icon
oder browserAction.setIcon. - Die Eigenschaft
name
vonbrowser_action
wurde entfernt. Verwenden Sie stattdessen das Attributdefault_title
oder browserAction.setTitle. - Die Eigenschaft
popup
vonbrowser_action
wurde entfernt. Verwenden Sie stattdessen das Attributdefault_popup
oder browserAction.setPopup. - Die Eigenschaft
default_popup
vonbrowser_action
kann nicht mehr als Objekt angegeben werden. Es muss ein String sein.
- Der Schlüssel
Änderungen an Seitenaktionen:
- Der Schlüssel
page_actions
im Manifest und diechrome.pageActions
API sind nicht mehr verfügbar. Verwenden Sie stattdessenpage_action
undchrome.pageAction
im Singular. - Die Eigenschaft
icons
vonpage_action
wurde entfernt. Verwenden Sie stattdessen das Attributdefault_icon
oder pageAction.setIcon. - Die Eigenschaft
name
vonpage_action
wurde entfernt. Verwenden Sie stattdessen das Attributdefault_title
oder pageAction.setTitle. - Die Eigenschaft
popup
vonpage_action
wurde entfernt. Verwenden Sie stattdessen das Attributdefault_popup
oder pageAction.setPopup. - Die Eigenschaft
default_popup
vonpage_action
kann nicht mehr als Objekt angegeben werden. Es muss eine Zeichenfolge sein.
- Der Schlüssel
Die
chrome.self
API wurde entfernt. Verwenden Sie stattdessenchrome.extension
.chrome.extension.getTabContentses
(!!!) undchrome.extension.getExtensionTabs
sind nicht mehr da. Verwenden Sie stattdessen extension.getViews.Port.tab
ist nicht mehr verfügbar. Verwenden Sie stattdessen runtime.Port.