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.
Unser neues userScript-Beispiel zeigt einen einfachen Ansatz, um zu ermitteln, ob der Entwicklermodus aktiviert ist, und einen einfachen Onboarding-Ablauf zu bieten.
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.
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.
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:
- weniger als 30 Sekunden mit
setTimeout()
. - mit
chrome.alarms
alles angeben, das länger als oder gleich 30 Sekunden ist:
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.