Entwickeln
Nachdem Sie den Abschnitt Erste Schritte gelesen haben, können Sie diesen Leitfaden als Übersicht über Erweiterungskomponenten, ihre Funktionen und die Möglichkeiten, sie zu kombinieren, verwenden. Machen Sie sich zuerst mit den Möglichkeiten von Erweiterungen vertraut: Weitere Informationen zum Kombinieren dieser Funktionen mit Erweiterungen
Benutzeroberfläche entwerfen
Die meisten Erweiterungen funktionieren nur, wenn eine Nutzerinteraktion stattfindet. Die Erweiterungsplattform bietet eine Vielzahl von Möglichkeiten, Interaktionen zu Ihrer Erweiterung hinzuzufügen. Dazu gehören Pop-ups, die über die Chrome-Symbolleiste ausgelöst werden, Seitenleisten, Kontextmenüs und mehr.
Seitenleiste
Mit der
browser.sidePanel API können Sie Inhalte in der Seitenleiste des Browsers neben dem Hauptinhalt einer Webseite hosten.
Action
Steuern Sie, wie das Symbol einer Erweiterung in der Symbolleiste angezeigt wird.
Menüs
Elemente zum Kontextmenü von Google Chrome hinzufügen
Browser steuern
Mit den Erweiterungs-APIs von Chrome können Sie die Funktionsweise Ihres Browsers ändern.
Chrome-Seiten und -Einstellungen überschreiben
Mit Einstellungsüberschreibungen können Erweiterungen ausgewählte Chrome-Einstellungen überschreiben. Außerdem können Erweiterungen mithilfe von HTML-Überschreibungen von Seiten eine Seite ersetzen, die Google Chrome normalerweise zur Verfügung stellt. Eine Erweiterung kann den Lesezeichen-Manager, den Tab „Verlauf“ oder den neuen Tab überschreiben.
Entwicklertools erweitern
DevTools-Erweiterungen erweitern die Chrome-Entwicklertools, indem sie über eine in die Erweiterung eingefügte DevTools-Seite auf DevTools-spezifische Erweiterungs-APIs zugreifen. Sie können auch die
browser.debugger API verwenden, um das Remote-Debugging-Protokoll von Chrome aufzurufen. Sie können die Entwicklertools an einen oder mehrere Tabs anhängen, um die Netzwerkanfrage zu analysieren, JavaScript zu debuggen und das DOM zu ändern.
Benachrichtigungen anzeigen
Mit der
browser.notifications API können Sie Benachrichtigungen mithilfe von Vorlagen erstellen und diese Benachrichtigungen Nutzern in der Taskleiste des Nutzers anzeigen.
Verlauf verwalten
Verwenden Sie die
browser.history API, um mit dem Browserverlauf zu interagieren, und die browser.browsingData API, um andere Browserdaten zu verwalten. Über browser.topSites können Sie auf die am häufigsten besuchten Websites zugreifen.
Tabs und Fenster steuern
Verwenden Sie APIs wie
browser.tabs, browser.tabGroups und browser.windows, um den Browser des Nutzers zu erstellen, zu ändern und anzuordnen.
Tastenkombinationen hinzufügen
Mit der
browser.commands API können Sie Tastenkombinationen hinzufügen, die Aktionen in Ihrer Erweiterung auslösen. Sie können beispielsweise eine Tastenkombination hinzufügen, um die Browseraktion zu öffnen oder einen Befehl an die Erweiterung zu senden.
Nutzer authentifizieren
Verwenden Sie die
browser.identity API, um OAuth 2.0-Zugriffstokens abzurufen.
Erweiterungen verwalten
Die
browser.management API bietet Möglichkeiten zum Verwalten der Liste der installierten und ausgeführten Erweiterungen. Das ist besonders nützlich für Erweiterungen, die die integrierte Seite „Neuer Tab“ überschreiben.
Vorschläge machen
Mit der
browser.omnibox API können Sie ein Keyword in der Omnibox (Adressleiste) von Google Chrome registrieren.
Chrome-Einstellungen aktualisieren
Mit der
browser.privacy API können Sie die Nutzung von Chrome-Funktionen steuern, die sich auf den Datenschutz eines Nutzers auswirken können. Weitere Informationen finden Sie in der browser.proxy API zum Verwalten der Chrome-Proxy-Einstellungen.
Downloads verwalten
Mit der
browser.downloads API können Sie Downloads programmatisch starten, überwachen, bearbeiten und suchen.
Lesezeichen und die Leseliste verwenden
Verwenden Sie die
browser.bookmarks API und die browser.readingList API, um diese Listen zu erstellen, zu organisieren und anderweitig zu bearbeiten.
Das Web steuern
Sie können damit den Inhalt und das Verhalten von Webseiten dynamisch ändern. Sie können das Web steuern und ändern, indem Sie Skripts einfügen, Netzwerkanfragen abfangen und Web-APIs für die Interaktion mit Webseiten verwenden.
JavaScript und CSS einfügen
Content-Skripts sind Dateien, die im Kontext von Webseiten ausgeführt werden. Sie verwenden das standardmäßige Document Object Model (DOM), um Details zu Webseiten zu lesen, die der Browser besucht, um Änderungen daran vorzunehmen und Informationen an die übergeordnete Erweiterung zu übergeben.
Auf aktiven Tab zugreifen
Die Berechtigung
"activeTab" gewährt einer Erweiterung vorübergehend Zugriff auf den derzeit aktiven Tab, wenn der Nutzer die Erweiterung aufruft, z. B. durch Klicken auf ihre Aktion. Der Zugriff auf den Tab bleibt bestehen, während sich der Nutzer auf der Seite befindet, und wird widerrufen, wenn er eine andere Seite aufruft oder den Tab schließt.
Webanfragen steuern
Verwenden Sie die APIs
browser.declarativeNetRequest, browser.webRequest und browser.webNavigation, um Netzwerkanfragen zu beobachten, zu blockieren und zu ändern.
Audio- und Bildschirmaufnahme
Informationen zu verschiedenen Ansätzen zum Aufzeichnen von Audio und Video über einen Tab, ein Fenster oder einen Bildschirm mithilfe von Webplattform-APIs wie
browser.tabCapture oder getDisplayMedia()
Website-Einstellungen ändern
Verwenden Sie die
browser.contentSettings API, um festzulegen, 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.
Wichtige Konzepte
Mithilfe von Webplattform- und Erweiterungs-APIs können Sie komplexere Funktionen erstellen, indem Sie verschiedene Benutzeroberflächenkomponenten und Funktionen der Erweiterungsplattform kombinieren.
Dienstprogramme
Ein Extension Service Worker (service-worker.js) ist ein ereignisbasiertes Skript, das im Hintergrund im Browser ausgeführt wird. Sie wird häufig verwendet, um Daten zu verarbeiten, Aufgaben in verschiedenen Teilen einer Erweiterung zu koordinieren und als Ereignismanager einer Erweiterung zu verwenden.
Berechtigungen
Verstehen Sie Berechtigungen: wie sie funktionieren und wann Sie nicht nach ihnen fragen sollten, wenn sie nicht benötigt werden.
Filter für Inhalte
Es gibt verschiedene Möglichkeiten, Inhalts- und Netzwerkfilter in Chrome-Erweiterungen zu implementieren. Hier erfahren Sie mehr über die Funktionen zur Inhaltsfilterung in Erweiterungen und die verschiedenen Filteransätze, -techniken und -APIs, die von Chrome-Erweiterungen verwendet werden können.
Kommunikation
Häufig müssen Inhaltsskripte oder andere Erweiterungsseiten Informationen an den Extension Service Worker senden oder von diesem empfangen. In diesen Fällen kann jede Seite auf Nachrichten warten, die von der anderen Seite gesendet werden, und auf demselben Kanal antworten.
Natives Messaging
Aktivieren Sie Ihre Erweiterungen für den Austausch von Nachrichten mit nativen Anwendungen.
Remote gehosteten Code vermeiden
In Manifest V3 müssen Erweiterungen den gesamten von ihnen verwendeten Code innerhalb der Erweiterung selbst bündeln. Dafür gibt es verschiedene Strategien.
Storage
Chrome-Erweiterungen haben eine spezielle Storage API, die für alle Erweiterungskomponenten verfügbar ist. Sie umfasst vier separate Speicherbereiche für bestimmte Anwendungsfälle und einen Event-Listener, der immer die Aktualisierung von Daten verfolgt.
Nicht sichtbare Dokumente
Service Worker haben keinen DOM-Zugriff. Mit der Offscreen API kann die Erweiterung DOM-APIs in einem verborgenen Dokument verwenden, ohne die Nutzererfahrung durch das Öffnen neuer Fenster oder Tabs zu unterbrechen.
Ursprungsübergreifende Isolierung
Mit der ursprungsübergreifenden Isolierung kann eine Webseite leistungsstarke Funktionen wie
SharedArrayBuffer nutzen. Für eine Erweiterung kann die ursprungsübergreifende Isolierung aktiviert werden, indem die entsprechenden Werte für die Manifestschlüssel "cross_origin_embedder_policy" und "cross_origin_opener_policy" angegeben werden.
Lebenszyklus von Erweiterungsaktualisierungen
Hier erfahren Sie, wie Chrome Erweiterungen aktualisiert und wie Sie die Verteilung von Erweiterungsupdates überwachen können.