Neu in Chrome 120 für Erweiterungen

Chrome 120 ist jetzt als Betaversion verfügbar und enthält viele spannende Updates für Entwickler von Chrome-Erweiterungen.

Das Jahr war für das Chrome-Erweiterungen-Team sehr ereignisreich. Mit der gestrigen Veröffentlichung von Chrome 120 Beta macht die Erweiterungsplattform einen weiteren großen Schritt nach vorn. Einen Überblick über die Neuigkeiten dieses Jahres findest du in unseren vierteljährlichen Updates vom Juli und Oktober. Im Folgenden finden Sie Informationen zu den Neuerungen in Chrome 120 für Erweiterungen.

Plattformlücke schließen

Mit der Veröffentlichung von Chrome 120 schließen wir die verbleibenden Plattformlücken, die auf der Seite mit bekannten Problemen bei Manifest V3 aufgeführt sind. Die neue userScript API und die Unterstützung der Dateiverwaltung unter ChromeOS waren die letzten beiden Punkte auf der Liste, die wir jetzt abhaken können. Zusammen mit den im letzten Quartalsbericht beschriebenen Änderungen sind wir sehr zufrieden mit dem aktuellen Stand der Chrome-Erweiterungsplattform und dem, was wir im letzten Jahr erreicht haben.

Neue userScripts API

Unterstützung für Nutzerscripts Nutzerscripts sind (in der Regel relativ kleine) Code-Snippets, die Erweiterungen in Webseiten einschleusen können, um das Aussehen oder Verhalten der Seite zu ändern. Sie können direkt vom Nutzer erstellt oder in einer Reihe verschiedener Nutzerscript-Repositories im Web gefunden werden. Ab Chrome 120 können Manifest V3-Erweiterungen die Erfassung von Nutzerscripts verwalten und festlegen, wann und wie sie in Webseiten eingefügt werden.

Es gibt einen wesentlichen Unterschied zwischen der Unterstützung von Nutzerscripts in Manifest V2 und Manifest V3. Da Nutzerscripts leistungsstark sind und ein hohes Maß an Vertrauen in den Autor des Nutzerscripts erfordern, hat das Chrome-Team entschieden, dass Nutzer den Entwicklermodus aktivieren müssen, bevor sie ein Nutzerscript ausführen können.

Auf der Seite „Erweiterungen“
Seite „Erweiterungen“ (chrome://extensions)

Unser neues userScript-Beispiel zeigt einen einfachen Ansatz, um zu erkennen, ob der Entwicklermodus aktiviert ist, und einen einfachen Onboarding-Vorgang bereitzustellen.

Beispiel für die Einrichtung von Nutzerscripts
Nutzer einrichten, wenn der Entwicklermodus deaktiviert ist

Weitere Informationen finden Sie in der Dokumentation oder im offiziellen Beispiel.

Höhere Limits für statische DNR-Regeln

Wir haben die Obergrenze für aktivierte statische Regelsätze von 10 auf 50 erhöht. Außerdem haben wir die Gesamtzahl der zulässigen statischen Regelsätze von 50 auf 100 erhöht. Diese Änderung ist eine Reaktion auf Feedback, das wir in der Community-Gruppe für Web-Erweiterungen erhalten haben.

Neue ReadingList API

Die Leseliste wurde 2021 in Chrome eingeführt. Letztes Jahr hat das Chrome-Team den Zugriff auf die Leseliste über die Seitenleiste noch einfacher gemacht. Mit Chrome 120 können Chrome-Erweiterungen Leselisteinträge erstellen, lesen, aktualisieren und löschen. Weitere Informationen finden Sie in der API-Dokumentation und in unserem neuen Beispiel.

Leseliste von Chrome mit Seiten der Erweiterungsdokumente
Die Seitenleiste der Leseliste in Chrome

Dateiverwaltung unter ChromeOS

Mit der Dateiverwaltung können Erweiterungen Dateien mit bestimmten MIME-Typen und Dateiendungen ähnlich wie bei der Dateiverwaltung der Webplattform öffnen. Weitere Informationen zur Verwendung finden Sie unter Dateiverwaltung unter ChromeOS.

Screenshot des Dialogfelds zum Öffnen einer Datei mit Erweiterung unter ChromeOS
Dateien in einer Erweiterung unter ChromeOS öffnen

In 30 Sekunden einen Wecker stellen

Das ist ein kleines Update, das aber eine wichtige Lücke im Service Worker-Lebenszyklus schließt. Aufgrund der ereignisorientierten Natur von Dienstprogrammen wird empfohlen, in Zukunft chrome.alarms zu verwenden, um ein Ereignis auszulösen. Die Alarms API sorgt dafür, dass das Ereignis ausgelöst wird, auch wenn der Dienst-Worker in der Zwischenzeit heruntergefahren wird.

Es gibt aber einen Haken. Vor Chrome 120 war eine Minute die kürzeste Zeitspanne, nach der ein Wecker ausgelöst werden konnte. Service Worker werden jedoch nach 30 Sekunden Inaktivität heruntergefahren. Es gab also keine einfache Möglichkeit, einen Wecker zu planen, der in 45 Sekunden ausgelöst wird. Wenn Sie setTimeout() verwenden, um ein Ereignis in 45 Sekunden festzulegen, wird der Dienstarbeiter möglicherweise heruntergefahren, bevor das Ereignis ausgelöst wird.

Ab Chrome 120 können Sie ein Ereignis jetzt an folgenden Stellen auslösen:

  • weniger als 30 Sekunden mit setTimeout().
  • Mit chrome.alarms können Sie Anzeigen mit einer Dauer von mindestens 30 Sekunden erstellen:
await chrome.alarms.create('demo-default-alarm', {
   periodInMinutes: 0.45
 });

Zusammenfassung

Wir sind sehr zufrieden mit den Fortschritten, die die Erweiterungsplattform im letzten Jahr gemacht hat. Chrome 120 ist ein weiterer großer Schritt mit höheren DNR-Limits und Unterstützung für Nutzerscripts.