Manifest-Dateiformat

Jede Erweiterung muss eine manifest.json-Datei im Stammverzeichnis haben, die enthält wichtige Informationen zur Struktur und zum Verhalten dieser Erweiterung. Auf dieser Seite werden die Struktur von Erweiterungsmanifesten und ihre Funktionen erläutert. enthalten sein können.

Beispiele

Die folgenden Beispielmanifeste zeigen die grundlegende Manifeststruktur und einige häufig verwendeten Funktionen als Ausgangspunkt für die Erstellung Ihres eigenen Manifests:

Minimales Manifest

{
  "manifest_version": 3,
  "name": "Minimal Manifest",
  "version": "1.0.0",
  "description": "A basic example extension with only required keys",
  "icons": {
    "48": "images/icon-48.png",
    "128": "images/icon-128.png"
  },
}

Inhaltsskript registrieren

{
  "manifest_version": 3,
  "name": "Run script automatically",
  "description": "Runs a script on www.example.com automatically when user installs the extension",
  "version": "1.0",
  "icons": {
    "16": "images/icon-16.png",
    "32": "images/icon-32.png",
    "48": "images/icon-48.png",
    "128": "images/icon-128.png"
  },
  "content_scripts": [
    {
      "js": [
        "content-script.js"
      ],
      "matches": [
        "http://*.example.com//"
      ]
    }
  ]
}

Inhaltsskript einfügen

{
  "manifest_version": 3,
  "name": "Click to run",
  "description": "Runs a script when the user clicks the action toolbar icon.",
  "version": "1.0",
  "icons": {
    "16": "images/icon-16.png",
    "32": "images/icon-32.png",
    "48": "images/icon-48.png",
    "128": "images/icon-128.png"
  },
  "background": {
    "service_worker": "service-worker.js"
  },
  "action": {
    "default_icon": {
      "16": "images/icon-16.png",
      "32": "images/icon-32.png",
      "48": "images/icon-48.png",
      "128": "images/icon-128.png"
    }
  },
  "permissions": ["scripting", "activeTab"]
}
{
  "manifest_version": 3,
  "name": "Popup extension that requests permissions",
  "description": "Extension that includes a popup and requests host permissions and storage permissions .",
  "version": "1.0",
  "icons": {
    "16": "images/icon-16.png",
    "32": "images/icon-32.png",
    "48": "images/icon-48.png",
    "128": "images/icon-128.png"
  },
  "action": {
    "default_popup": "popup.html"
  },
  "host_permissions": [
    "https://*.example.com/"
  ],
  "permissions": [
    "storage"
  ]
}

Seitenleiste

{
  "manifest_version": 3,
  "name": "Side panel extension",
  "version": "1.0",
  "description": "Extension with a default side panel.",
  "icons": {
    "16": "images/icon-16.png",
    "48": "images/icon-48.png",
    "128": "images/icon-128.png"
  },
  "side_panel": {
    "default_path": "sidepanel.html"
  },
  "permissions": ["sidePanel"]
}

Manifestschlüssel

Im Folgenden finden Sie eine Liste aller unterstützten Manifestschlüssel.

Für die Extensions-Plattform erforderliche Schlüssel

"manifest_version"
Eine Ganzzahl, die die Version des Manifestdateiformats angibt, das in Ihrem verwendet werden. Der einzige unterstützte Wert ist 3.
"name"
Ein String, der die Erweiterung in Chrome Web identifiziert Store, das Installationsdialogfeld und Die Seite für Chrome-Erweiterungen des Nutzers (chrome://extensions) Die Maximale Länge: 75 Zeichen. Informationen zur Verwendung länderspezifischer Namen finden Sie Siehe Internationalisierung.
"version"
Ein String, der die Versionsnummer der Erweiterung angibt. Informationen zur Formatierung der Versionsnummern (siehe Version)

Für den Chrome Web Store erforderliche Schlüssel

"description"
Ein String, der die Erweiterung im Chrome Web Store und auf der auf der Seite zur Verwaltung von Erweiterungen. Die maximale Länge beträgt 132 Zeichen. Weitere Informationen Informationen zur Lokalisierung von Beschreibungen findest du im Dokument zur Internationalisierung.
"icons"
Ein oder mehrere Symbole, die Ihre Erweiterung repräsentieren. Für Informationen zu den besten finden Sie unter Symbole.

Optionale Schlüssel

"action"
Hiermit werden die Darstellung und das Verhalten des Erweiterungssymbols in der Google-Suche definiert. Symbolleiste. Weitere Informationen finden Sie unter chrome.action.
"author"
Gibt die E-Mail-Adresse des Kontos an, mit dem das Konto erstellt wurde Erweiterung.
"background"
Gibt die JavaScript-Datei mit dem Service Worker der Erweiterung an, der als einen Ereignis-Handler. Weitere Informationen finden Sie unter Über den Erweiterungsdienst. Worker.
"chrome_settings_overrides"
Legt Überschreibungen für ausgewählte Chrome-Einstellungen fest. Weitere Informationen finden Sie unter Chrome-Einstellungen überschreiben
"chrome_url_overrides"
Legt Überschreibungen für Chrome-Standardseiten fest. Weitere Informationen finden Sie unter Chrome-Seiten überschreiben
"commands"
Definiert Tastenkombinationen innerhalb der Erweiterung. Weitere Informationen Weitere Informationen finden Sie unter chrome.commands.
"content_scripts"
Gibt JavaScript- oder CSS-Dateien an, die verwendet werden, wenn der Nutzer bestimmte Websites öffnet Seiten. Weitere Informationen finden Sie unter Content-Skripts.
"content_security_policy"
Definiert Einschränkungen für Skripts, Stile und andere Ressourcen einer Erweiterung verwenden können. Weitere Informationen finden Sie unter Content Security Policy.
"cross_origin_embedder_policy"
Gibt einen Wert für den HTTP-Header „Cross-Origin-Embedder-Policy“ an, der konfiguriert die Einbettung von ursprungsübergreifenden Ressourcen auf einer Erweiterungsseite.
"cross_origin_opener_policy"
Gibt einen Wert für den Cross-Origin-Opener-Policy-HTTP-Header an, mit dem Sie sorgen dafür, dass eine Erweiterungsseite auf oberster Ebene keinen Browserkontext mit ursprungsübergreifenden Dokumenten gruppieren.
"declarative_net_request"
Definiert statische Regeln für declarativeNetRequest API zum Blockieren und Ändern von Netzwerkanfragen.
"default_locale"
Ein String, der die Standardsprache einer Erweiterung definiert, die in mehreren Sprachen. Beispiele: „en“ und „pt_BR“. Dieser Schlüssel ist erforderlich in lokalisierten Erweiterungen und dürfen nicht in nicht lokalisierten Erweiterungen verwendet werden. Weitere Informationen findest du im Artikel zur Internationalisierung.
"devtools_page"
Definiert Seiten, auf denen die DevTools APIs verwendet werden.
"export"
Ermöglicht das Exportieren von Ressourcen aus der Erweiterung. Weitere Informationen finden Sie unter Exportieren.
"externally_connectable"
Gibt an, welche anderen Seiten und Erweiterungen mit Ihren Erweiterungen verbunden werden können. Für Weitere Informationen finden Sie unter "externally_connectable".
"homepage_url"
Ein String, der eine URL für die Startseite der Erweiterung angibt. Ist dies nicht definiert, Standardmäßig ist die Startseite der Chrome Web Store-Seite der Erweiterung zu sehen. Dieses Feld ist besonders nützlich, wenn Sie die Erweiterung hosten auf Ihrer eigenen Website.
"host_permissions"
Hier werden die Webseiten aufgeführt, mit denen Ihre Erweiterung interagieren darf. Diese wird mithilfe von URL-Übereinstimmungsmuster Nutzerberechtigung für diese Websites wird bei der Installation angefordert . Weitere Informationen finden Sie unter Hostberechtigungen.
"import"
Ermöglicht den Import von Ressourcen in die Erweiterung. Weitere Informationen finden Sie unter Importieren:
"incognito"
Definiert, wie sich die Erweiterung im Inkognitomodus verhält. Unterstützte Werte: "spanning", "split" und "not_allowed". Weitere Informationen finden Sie unter Inkognitomodus:
"key"
Gibt die ID Ihrer Erweiterung für verschiedene Entwicklungsanwendungsfälle an. Weitere Informationen finden Sie unter Schlüssel.
"minimum_chrome_version"
Definiert die älteste Chrome-Version, die Ihre Erweiterung installieren kann. Der Wert muss ein Teilstring eines vorhandenen Versionsstrings des Chrome-Browsers sein, z. B. "107" oder "107.0.5304.87". Nutzer mit älteren Chrome-Versionen als Mindestversion sehen Sie den Hinweis „Nicht kompatibel“ im Chrome Web Store erhalten und die Erweiterung nicht installieren. Wenn Sie dies einer vorhandenen Erweiterung hinzufügen, Nutzer, deren Chrome-Version älter ist, erhalten keine automatischen Updates für Ihre . Dazu gehören auch geschäftliche Nutzende in sitzungsspezifischen Modus.
"oauth2"
Erlaubt die Verwendung einer OAuth 2.0-Sicherheits-ID. Der Wert dieses Schlüssels muss ein mit den Attributen "client_id" und "scopes". Ausführliche Informationen hierzu finden Sie im Artikel OAuth 2.0-Anleitung.
"omnibox"
Ermöglicht der Erweiterung, ein Keyword in der Adressleiste von Chrome zu registrieren. Weitere Informationen Weitere Informationen finden Sie unter Omnibox.
"optional_host_permissions"
Gibt optional Hosts an Berechtigungen für Ihre Erweiterung.
"optional_permissions"
Deklariert optionale Berechtigungen für die Erweiterung.
"options_page"
Gibt einen Pfad zu einer options.html-Datei an, den die Erweiterung als auf der Seite „Optionen“. Weitere Informationen finden Sie unter Nutzern Optionen.
"options_ui"
Gibt einen Pfad zu einer HTML-Datei an, über den Nutzer die Optionen der Erweiterung ändern können auf der Seite für Chrome-Erweiterungen. Weitere Informationen finden Sie unter Eingebettete Optionen.
"permissions"
Ermöglicht die Verwendung bestimmter Erweiterungs-APIs. Siehe Berechtigungen finden Sie eine allgemeine Erklärung. Auf Referenzseiten für einzelne APIs werden die Berechtigungen, die sie benötigen.
"requirements"
Listet die zur Verwendung der Erweiterung erforderlichen Technologien auf. Eine Liste der unterstützten finden Sie unter Anforderungen.
"sandbox"
Definiert eine Gruppe von Erweiterungsseiten, die keinen Zugriff auf Erweiterungs-APIs oder direkten Zugriff auf Seiten ohne Sandbox. Weitere Informationen finden Sie unter Sandbox
"short_name"
Ein String mit einer gekürzten Version des zu verwendenden Erweiterungsnamens wenn der Zeichenabstand begrenzt ist. Die maximale Länge beträgt 12 Zeichen. Wenn dies Nicht definiert, eine verkürzte Version von „name“ angezeigt.
"side_panel"
Identifiziert eine HTML-Datei, die in einem sidePanel.
"storage"
Deklariert ein JSON-Schema für den verwalteten Speicher Bereich. Weitere Informationen Manifest für Speicherbereiche.
"tts_engine"
Registriert die Erweiterung als Sprachausgabe-Engine. Weitere Informationen finden Sie unter Die ttsEngine API.
"update_url"
Ein String, der die URL der Updateseite der Erweiterung enthält. Verwenden Sie diesen Schlüssel, wenn du hostest deine Erweiterung außerhalb des Chrome Web Store.
"version_name"
Ein String, der die Version der Erweiterung beschreibt. Beispiele hierfür sind "1.0 beta" und "build rc2". Wenn nicht angegeben, wird der Wert auf der Seite Seite zur Verwaltung von Erweiterungen an.
"web_accessible_resources"
Definiert Dateien innerhalb der Erweiterung, auf die Webseiten oder andere Dateien zugreifen können Erweiterungen. Weitere Informationen finden Sie unter Web Accessible Ressourcen.

Optionale ChromeOS-Schlüssel

"file_browser_handlers"
Zugriff auf fileBrowserHandler API, mit der Erweiterungen auf den ChromeOS-Dateibrowser zugreifen können.
"file_handlers"
Gibt die Dateitypen an, die von ChromeOS-Erweiterungen verarbeitet werden sollen. Weitere Informationen: file_handlers
"file_system_provider_capabilities"
Gewährt Zugriff auf das fileSystemProvider API, mit der Erweiterungen Dateisysteme erstellen können, die ChromeOS verwenden kann.
"input_components"
Ermöglicht die Verwendung der Input Method Editor API. Weitere Informationen finden Sie unter input_components.