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.

Für das Team für Chrome-Erweiterungen war in diesem Jahr ein geschäftiges Jahr. Mit der gestrigen Betaversion von Chrome 120 macht die Erweiterungsplattform einen weiteren großen Schritt nach vorn. Einen Überblick über die Aktivitäten in diesem Jahr finden Sie in den vierteljährlichen Updates von Juli und Oktober. Lesen Sie weiter, um zu erfahren, was es Neues in Chrome 120 für Erweiterungen gibt.

Die Plattformlücke schließen

Mit der Veröffentlichung von Chrome 120 werden wir die noch vorhandenen Plattformlücken schließen, die auf der Seite Bekannte Probleme mit Manifest V3 aufgeführt sind. Die neue userScript API sowie die Unterstützung für die Dateiverarbeitung unter ChromeOS sind die beiden verbleibenden Punkte auf der Liste, die wir nun durchgehen können. Zusammen mit den Änderungen, die im vorherigen vierteljährlichen Update beschrieben wurden, sind wir sehr zufrieden mit dem aktuellen Status der Plattform für Chrome-Erweiterungen und darüber, was wir im vergangenen Jahr erreicht haben.

Neue userScripts API

Unterstützung für Nutzerskripts ist da! Nutzerskripts sind (in der Regel relativ kleine) Code-Snippets, die mithilfe von Erweiterungen in Webseiten eingeschleust werden können, um das Aussehen oder Verhalten der Seite zu ändern. Sie können direkt vom Nutzer erstellt oder in verschiedenen Nutzerskript-Repositorys im Internet gefunden werden. Ab Chrome 120 Manifest V3 können Sie die Sammlung von Nutzerskripts verwalten und festlegen, wann und wie sie auf Webseiten eingefügt werden.

Es gibt einen wesentlichen Unterschied zwischen der Unterstützung von Nutzerskripts in Manifest V2 und Manifest V3. Nutzerskripte sind leistungsstark und erfordern ein hohes Vertrauen des Autors des Nutzerskripts. Das Chrome-Team hat daher entschieden, dass Nutzer den Entwicklermodus aktivieren müssen, bevor sie ein Nutzerskript ausführen können.

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

Unser neues userScript-Beispiel zeigt einen einfachen Ansatz, um zu ermitteln, ob der Entwicklermodus aktiviert ist, und einen einfachen Onboarding-Ablauf zu bieten.

Beispiel für den Onboarding-Ablauf für Nutzerskripts.
Nutzer aufnehmen, wenn der Entwicklermodus deaktiviert ist

Sehen Sie sich zum Einstieg die Dokumentation oder das offizielle Beispiel an.

Höhere statische DNR-Regelsätze

Wir haben das Limit 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. Damit haben wir Feedback von der Community-Gruppe „Web Extensions“ erhalten.

Neue ReadingList API

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

Leseliste von Chrome mit Seiten mit Erweiterungsdokumenten
Die Seitenleiste der Leseliste in Chrome.

Dateiverarbeitung unter ChromeOS

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

Screenshot der geöffneten Datei mit dem Dialogfeld „Erweiterung“ unter ChromeOS
Öffnet Dateien in einer Erweiterung unter ChromeOS.

Wecker nach 30 Sekunden auslösen

Dies ist ein kleines Update, beseitigt jedoch eine wichtige Lücke im Service Worker-Lebenszyklus. Aufgrund des ereignisgesteuerten Charakters von Service Workern wird zum Auslösen eines Ereignisses in Zukunft chrome.alarms empfohlen. Die Alarms API stellt sicher, dass das Ereignis ausgelöst wird, auch wenn der Service Worker in der Zwischenzeit heruntergefahren wird.

Aber es gibt einen Haken. Vor Chrome 120 war die kürzeste Zeitspanne zum Auslösen eines Alarms eine Minute. Service Worker werden jedoch nach 30 Sekunden Inaktivität heruntergefahren. Daher gab es keine einfache Möglichkeit, einen Alarm so zu planen, dass er innerhalb von 45 Sekunden ausgelöst wird. Denn wenn Sie mit setTimeout() ein Ereignis in 45 Sekunden festlegen, könnte der Service Worker möglicherweise bereits heruntergefahren werden, bevor das Ereignis ausgelöst wird.

Ab Chrome 120 können Sie Ereignisse entweder in folgenden Sprachen auslösen:

await chrome.alarms.create('demo-default-alarm', {
   periodInMinutes: 0.45
 });

Zusammenfassung

Wir sind wirklich begeistert von den Fortschritten, die die Erweiterungsplattform im vergangenen Jahr erzielt hat. Chrome 120 ist ein weiterer großer Schritt mit steigenden DNR-Limits und Unterstützung für Nutzerskripte.