API-Referenz

Die meisten Erweiterungen benötigen Zugriff auf eine oder mehrere Chrome-Erweiterungs-APIs, um zu funktionieren. In dieser API-Referenz werden die APIs beschrieben, die in Erweiterungen verwendet werden können. Außerdem werden Beispielanwendungsfälle vorgestellt.

Allgemeine Funktionen der Extensions API

Eine Extensions API besteht aus einem Namespace mit Methoden und Eigenschaften für die Arbeit mit Erweiterungen und in der Regel, aber nicht immer, Manifestfeldern für die Datei manifest.json. Für den Namespace chrome.action ist beispielsweise ein "action"-Objekt im Manifest erforderlich. Für viele APIs sind auch Berechtigungen im Manifest erforderlich.

Methoden in Erweiterungs-APIs sind asynchron, sofern nicht anders angegeben. Asynchrone Methoden werden sofort zurückgegeben, ohne auf den Abschluss des Vorgangs zu warten, durch den sie aufgerufen werden. Verwenden Sie Promises, um die Ergebnisse dieser asynchronen Methoden abzurufen.

Chrome-Erweiterungs-APIs

accessibilityFeatures

Mit der chrome.accessibilityFeatures API können Sie die Bedienungshilfen von Chrome verwalten. Diese API basiert auf dem ChromeSetting-Prototyp des Typs „API“ zum Abrufen und Festlegen einzelner Barrierefreiheitsfunktionen. Damit die Erweiterung Funktionsstatus abrufen kann, muss sie die Berechtigung accessibilityFeatures.read anfordern. Zum Ändern des Funktionsstatus ist die Berechtigung accessibilityFeatures.modify für die Erweiterung erforderlich. Beachten Sie, dass accessibilityFeatures.modify nicht die Berechtigung accessibilityFeatures.read impliziert.

Aktion
Chrome 88+ MV3+

Mit der chrome.action API können Sie das Symbol der Erweiterung in der Google Chrome-Symbolleiste steuern.

alarms

Mit der chrome.alarms API können Sie Code so planen, dass er regelmäßig oder zu einem bestimmten Zeitpunkt in der Zukunft ausgeführt wird.

audio
Chrome 59 und höher Nur ChromeOS

Die chrome.audio API ermöglicht es Nutzern, Informationen zu den an das System angeschlossenen Audiogeräten abzurufen und diese zu steuern. Diese API ist derzeit nur im Kioskmodus für ChromeOS verfügbar.

Lesezeichen

Mit der chrome.bookmarks API können Sie Lesezeichen erstellen, organisieren und anderweitig bearbeiten. Weitere Informationen finden Sie unter Seiten überschreiben. Damit können Sie eine benutzerdefinierte Seite für die Lesezeichenverwaltung erstellen.

browsingData

Verwenden Sie die chrome.browsingData API, um Browserdaten aus dem lokalen Profil eines Nutzers zu entfernen.

certificateProvider
Chrome 46 und höher Nur ChromeOS

Mit dieser API können Sie Zertifikate für die Plattform verfügbar machen, die diese Zertifikate für die TLS-Authentifizierung verwenden kann.

Befehle

Mit der Commands API können Sie Tastenkombinationen hinzufügen, die Aktionen in Ihrer Erweiterung auslösen, z. B. eine Aktion zum Öffnen der Browser-Aktion oder zum Senden eines Befehls an die Erweiterung.

contentSettings

Verwenden Sie die chrome.contentSettings API, um Einstellungen zu ändern, mit denen festgelegt wird, ob Websites Funktionen wie Cookies, JavaScript und Plug-ins verwenden können. Mit den Inhaltseinstellungen können Sie das Verhalten von Chrome für jede Website einzeln anpassen, anstatt global.

contextMenus

Mit der chrome.contextMenus API können Sie Elemente zum Kontextmenü von Google Chrome hinzufügen. Sie können auswählen, auf welche Arten von Objekten sich Ihre Kontextmenü-Ergänzungen beziehen, z. B. Bilder, Hyperlinks und Seiten.

Cookies

Mit der chrome.cookies API können Sie Cookies abfragen und ändern und sich benachrichtigen lassen, wenn sie sich ändern.

Debugger

Die chrome.debugger API dient als alternativer Transport für das Remote-Debugging-Protokoll von Chrome. Mit chrome.debugger können Sie eine oder mehrere Tabs anhängen, um Netzwerkinteraktionen zu analysieren, JavaScript zu debuggen, das DOM und CSS zu ändern und vieles mehr. Verwenden Sie das Attribut Debuggee tabId, um Tabs mit sendCommand auszurichten und Ereignisse über tabId aus onEvent-Callbacks weiterzuleiten.

declarativeContent

Mit der chrome.declarativeContent API können Sie Aktionen basierend auf dem Inhalt einer Seite ausführen, ohne dass eine Berechtigung zum Lesen des Seiteninhalts erforderlich ist.

declarativeNetRequest
Chrome 84 und höher

Mit der chrome.declarativeNetRequest API können Netzwerk-Anfragen durch Angabe deklarativer Regeln blockiert oder geändert werden. So können Erweiterungen Netzwerkanfragen ändern, ohne sie abzufangen und ihren Inhalt anzusehen. Das bietet mehr Datenschutz.

desktopCapture

Mit der Desktop Capture API werden die Inhalte des Bildschirms, einzelner Fenster oder einzelner Tabs erfasst.

devtools.inspectedWindow

Mit der chrome.devtools.inspectedWindow API können Sie mit dem untersuchten Fenster interagieren: Sie können die Tab-ID für die untersuchte Seite abrufen, den Code im Kontext des untersuchten Fensters auswerten, die Seite neu laden oder die Liste der Ressourcen auf der Seite abrufen.

devtools.network

Mit der chrome.devtools.network API können Sie die Informationen zu Netzwerkanfragen abrufen, die von den Entwicklertools im Bereich „Netzwerk“ angezeigt werden.

devtools.panels

Mit der chrome.devtools.panels API können Sie Ihre Erweiterung in die Benutzeroberfläche des Entwicklertools-Fensters einbinden: Erstellen Sie eigene Bereiche, greifen Sie auf vorhandene Bereiche zu und fügen Sie Seitenleisten hinzu.

devtools.performance
Chrome 129 und höher

Mit der chrome.devtools.performance API können Sie auf Aktualisierungen des Aufzeichnungsstatus im Steuerfeld „Leistung“ in DevTools warten.

devtools.recorder
Chrome 105 und höher

Mit der chrome.devtools.recorder API können Sie das Rekorder-Steuerfeld in den DevTools anpassen.

dns
Dev-Channel

Verwenden Sie die chrome.dns API für die DNS-Auflösung.

documentScan
Chrome 44 und höher Nur ChromeOS

Mit der chrome.documentScan API können Sie Bilder von angeschlossenen Dokumentenscannern erkennen und abrufen.

dom
Chrome 88 und höher

Über die chrome.dom API auf spezielle DOM-APIs für Erweiterungen zugreifen

Downloads

Mit der chrome.downloads API können Sie Downloads programmatisch starten, überwachen, bearbeiten und suchen.

enterprise.deviceAttributes
Chrome 46 und höher Nur ChromeOS Richtlinie erforderlich

Verwenden Sie die chrome.enterprise.deviceAttributes API, um Geräteattribute zu lesen. Hinweis: Diese API ist nur für Erweiterungen verfügbar, deren Installation durch Unternehmensrichtlinien erzwungen wird.

enterprise.hardwarePlatform
Chrome 71 oder höher Richtlinie erforderlich

Verwenden Sie die chrome.enterprise.hardwarePlatform API, um den Hersteller und das Modell der Hardwareplattform abzurufen, auf der der Browser ausgeführt wird. Hinweis: Diese API ist nur für Erweiterungen verfügbar, die über Unternehmensrichtlinien installiert wurden.

enterprise.login
Ausstehend Nur ChromeOS Richtlinie erforderlich

Verwenden Sie die chrome.enterprise.login API, um verwaltete Gastsitzungen zu beenden. Hinweis: Diese API ist nur für Erweiterungen verfügbar, die über Unternehmensrichtlinien in verwalteten Gastsitzungen unter ChromeOS installiert wurden.

enterprise.networkingAttributes
Chrome 85 und höher Nur ChromeOS Richtlinie erforderlich

Mit der chrome.enterprise.networkingAttributes API können Sie Informationen zu Ihrem aktuellen Netzwerk abrufen. Hinweis: Diese API ist nur für Erweiterungen verfügbar, deren Installation durch Unternehmensrichtlinien erzwungen wird.

enterprise.platformKeys

Verwenden Sie die chrome.enterprise.platformKeys API, um Schlüssel zu generieren und Zertifikate für diese Schlüssel zu installieren. Die Zertifikate werden von der Plattform verwaltet und können für die TLS-Authentifizierung, den Netzwerkzugriff oder von anderen Erweiterungen über chrome.platformKeys verwendet werden.

Ereignisse

Der Namespace chrome.events enthält allgemeine Typen, die von APIs verwendet werden, um Ereignisse zu senden und Sie zu benachrichtigen, wenn etwas Interessantes passiert.

extension

Die chrome.extension API enthält Dienstprogramme, die von jeder Erweiterungsseite verwendet werden können. Sie bietet Unterstützung für den Austausch von Nachrichten zwischen einer Erweiterung und ihren Inhaltskripten oder zwischen Erweiterungen, wie in Message Passing ausführlich beschrieben.

extensionTypes

Die chrome.extensionTypes API enthält Typdeklarationen für Chrome-Erweiterungen.

fileBrowserHandler
Nur ChromeOS Nur im Vordergrund

Mit der chrome.fileBrowserHandler API können Sie den ChromeOS-Dateibrowser erweitern. Mit dieser API können Sie beispielsweise Nutzern ermöglichen, Dateien auf Ihre Website hochzuladen.

fileSystemProvider
Nur ChromeOS

Mit der chrome.fileSystemProvider API können Sie Dateisysteme erstellen, auf die über den Dateimanager in ChromeOS zugegriffen werden kann.

fontSettings

Verwenden Sie die chrome.fontSettings API, um die Schriftarteinstellungen von Chrome zu verwalten.

gcm

Mit chrome.gcm können Apps und Erweiterungen Nachrichten über Firebase Cloud Messaging (FCM) senden und empfangen.

Verlauf

Verwenden Sie die chrome.history API, um mit dem Browserverlauf zu interagieren. Sie können URLs im Browserverlauf hinzufügen, entfernen und abfragen. Informationen dazu, wie Sie die Verlaufsseite mit Ihrer eigenen Version überschreiben, finden Sie unter Seiten überschreiben.

i18n

Mit der chrome.i18n-Infrastruktur können Sie die Internationalisierung in Ihrer gesamten App oder Erweiterung implementieren.

identity

Verwenden Sie die chrome.identity API, um OAuth2-Zugriffstokens abzurufen.

idle

Verwenden Sie die chrome.idle API, um zu erkennen, wenn sich der Leerlaufstatus des Geräts ändert.

input.ime
Nur ChromeOS

Verwenden Sie die chrome.input.ime API, um eine benutzerdefinierte IME für ChromeOS zu implementieren. So kann Ihre Erweiterung Tasteneingaben verarbeiten, die Komposition festlegen und das Kandidatenfenster verwalten.

instanceID
Chrome 44 und höher

Verwenden Sie chrome.instanceID, um auf den Instanz-ID-Dienst zuzugreifen.

loginState
Chrome 78 und höher Nur ChromeOS

Verwenden Sie die chrome.loginState API, um den Anmeldestatus zu lesen und zu überwachen.

verwaltung

Die chrome.management API bietet Möglichkeiten zum Verwalten installierter Apps und Erweiterungen.

Benachrichtigungen

Mit der chrome.notifications API können Sie Rich Notifications mithilfe von Vorlagen erstellen und diese Benachrichtigungen Nutzern in der Taskleiste anzeigen.

offscreen
Chrome 109 und höher MV3+

Verwenden Sie die offscreen API, um Offscreen-Dokumente zu erstellen und zu verwalten.

Omnibox

Mit der Omnibox API können Sie ein Keyword in der Adressleiste von Google Chrome, auch Omnibox genannt, registrieren.

pageCapture

Verwenden Sie die chrome.pageCapture API, um einen Tab als MHTML zu speichern.

Berechtigungen

Verwenden Sie die chrome.permissions API, um deklarierte optionale Berechtigungen zur Laufzeit statt zur Installationszeit anzufordern. So können Nutzer nachvollziehen, warum die Berechtigungen erforderlich sind, und nur die Berechtigungen erteilen, die wirklich benötigt werden.

platformKeys
Chrome 45 und höher Nur ChromeOS

Verwenden Sie die chrome.platformKeys API, um auf Clientzertifikate zuzugreifen, die von der Plattform verwaltet werden. Wenn der Nutzer oder die Richtlinie die Berechtigung erteilt, kann eine Erweiterung ein solches Zertifikat in ihrem benutzerdefinierten Authentifizierungsprotokoll verwenden. So können beispielsweise von der Plattform verwaltete Zertifikate in Drittanbieter-VPNs verwendet werden (siehe chrome.vpnProvider).

power

Mit der chrome.power API können Sie die Energieverwaltungsfunktionen des Systems überschreiben.

printerProvider
Chrome 44 und höher

Die chrome.printerProvider API macht Ereignisse verfügbar, die vom Druckmanager verwendet werden, um von Erweiterungen gesteuerte Drucker abzufragen, ihre Funktionen abzufragen und Druckaufträge an diese Drucker zu senden.

Drucken
Chrome 81 oder höher Nur ChromeOS

Mit der chrome.printing API können Sie Druckaufträge an Drucker senden, die auf Chromebooks installiert sind.

printingMetrics
Chrome 79 oder höher Nur ChromeOS Richtlinie erforderlich

Verwenden Sie die chrome.printingMetrics API, um Daten zur Drucknutzung abzurufen.

Datenschutz

Mit der chrome.privacy API können Sie die Nutzung von Chrome-Funktionen steuern, die sich auf den Datenschutz eines Nutzers auswirken können. Diese API basiert auf dem ChromeSetting-Prototyp der Typ-API zum Abrufen und Festlegen der Chrome-Konfiguration.

Prozesse
Dev-Channel

Verwenden Sie die chrome.processes API, um mit den Prozessen des Browsers zu interagieren.

proxy

Verwenden Sie die chrome.proxy API, um die Proxyeinstellungen von Chrome zu verwalten. Diese API basiert auf dem ChromeSetting-Prototyp des Typs „API“ zum Abrufen und Festlegen der Proxykonfiguration.

readingList
Chrome 120+ MV3+

Mit der chrome.readingList API können Sie die Elemente in der Leseliste lesen und ändern.

runtime

Mit der chrome.runtime API können Sie den Service Worker abrufen, Details zum Manifest zurückgeben und auf Ereignisse im Lebenszyklus der Erweiterung warten und darauf reagieren. Mit dieser API können Sie auch den relativen Pfad von URLs in vollständig qualifizierte URLs umwandeln.

Skripting
Chrome 88+ MV3+

Mit der chrome.scripting API können Sie Skripts in verschiedenen Kontexten ausführen.

search
Chrome 87 und höher

Verwenden Sie die chrome.search API, um über den Standardanbieter zu suchen.

Sitzungen

Mit der chrome.sessions API können Sie Tabs und Fenster aus einer Browsersitzung abfragen und wiederherstellen.

sidePanel
Chrome 114+ MV3+

Mit der chrome.sidePanel API können Sie Inhalte in der Seitenleiste des Browsers neben dem Hauptinhalt einer Webseite hosten.

Speicher

Mit der chrome.storage API können Sie Nutzerdaten speichern, abrufen und Änderungen daran nachverfolgen.

system.cpu

Verwenden Sie die system.cpu API, um CPU-Metadaten abzufragen.

system.display

Verwenden Sie die system.display API, um Display-Metadaten abzufragen.

system.memory

Die chrome.system.memory API.

system.storage

Verwenden Sie die chrome.system.storage API, um Informationen zu Speichergeräten abzufragen und benachrichtigt zu werden, wenn ein Wechseldatenträger angeschlossen und getrennt wird.

systemLog
Chrome 125 und höher Nur ChromeOS Richtlinie erforderlich

Mit der chrome.systemLog API können Sie Chrome-Systemprotokolle von Erweiterungen aufzeichnen.

tabCapture

Verwenden Sie die chrome.tabCapture API, um mit Tab-Media-Streams zu interagieren.

tabGroups
Chrome 89+ MV3+

Mit der chrome.tabGroups API können Sie mit dem Tabgruppierungssystem des Browsers interagieren. Mit dieser API können Sie Tabgruppen im Browser ändern und neu anordnen. Wenn Sie Tabs gruppieren oder die Gruppierung aufheben oder abfragen möchten, welche Tabs sich in Gruppen befinden, verwenden Sie die chrome.tabs API.

Tabs

Mit der chrome.tabs API können Sie mit dem Tabsystem des Browsers interagieren. Mit dieser API können Sie Tabs im Browser erstellen, ändern und neu anordnen.

topSites

Mit der chrome.topSites API können Sie auf die Top-Websites (d.h. die am häufigsten besuchten Websites) zugreifen, die auf der Seite „Neuer Tab“ angezeigt werden. Dazu gehören keine vom Nutzer angepassten Tastenkombinationen.

tts

Verwenden Sie die chrome.tts API, um synthetisierte Sprachausgabe (TTS) abzuspielen. Weitere Informationen finden Sie in der zugehörigen ttsEngine API, mit der eine Erweiterung eine Spracherkennung implementieren kann.

ttsEngine

Mit der chrome.ttsEngine API können Sie eine Sprachausgabe-Engine(TTS) mithilfe einer Erweiterung implementieren. Wenn Ihre Erweiterung sich mit dieser API registriert, erhält sie Ereignisse mit einer zu sprechenden Äußerung und anderen Parametern, wenn eine Erweiterung oder Chrome-App die tts API zum Generieren von Sprache verwendet. Ihre Erweiterung kann dann beliebige verfügbare Webtechnologien verwenden, um die Sprache zu synthetisieren und auszugeben, und Ereignisse zurück an die aufrufende Funktion senden, um den Status zu melden.

Typen

Die chrome.types API enthält Typdeklarationen für Chrome.

userScripts
Chrome 120+ MV3+

Verwenden Sie die userScripts API, um Nutzerskripts im Kontext von Nutzerskripts auszuführen.

vpnProvider
Chrome 43 und höher Nur ChromeOS

Verwenden Sie die chrome.vpnProvider API, um einen VPN-Client zu implementieren.

Chrome 43 und höher Nur ChromeOS

Verwenden Sie die chrome.wallpaper API, um den ChromeOS-Hintergrund zu ändern.

webAuthenticationProxy
Chrome 115+ MV3+

Mit der chrome.webAuthenticationProxy API kann Remote-Desktop-Software, die auf einem Remote-Host ausgeführt wird, Web Authentication API-Anfragen (WebAuthn) abfangen, um sie auf einem lokalen Client zu verarbeiten.

webNavigation

Mit der chrome.webNavigation API können Sie Benachrichtigungen zum Status von Navigationsanfragen erhalten, während diese bearbeitet werden.

webRequest

Mit der chrome.webRequest API können Sie den Traffic beobachten und analysieren sowie Anfragen während der Übertragung abfangen, blockieren oder ändern.

windows

Verwenden Sie die chrome.windows API, um mit Browserfenstern zu interagieren. Mit dieser API können Sie Fenster im Browser erstellen, ändern und neu anordnen.