Im Juli haben wir eine neue Blogreihe gestartet, in der wir Sie über die Entwicklungen bei Erweiterungen auf dem Laufenden halten. Dank Ihres wertvollen Feedbacks und unserer kontinuierlichen Zusammenarbeit mit anderen Browseranbietern in der WebExtensions Community Group verbessern wir die Erweiterungs-APIs kontinuierlich und arbeiten an einer größeren Browserkompatibilität.
Willkommen zur Oktober-Ausgabe! In diesem Beitrag sehen wir uns einige der Änderungen an, die das Chrome-Erweiterungs-Team in den letzten Monaten vorgenommen hat, sowie einige neue Funktionen, die noch in diesem Jahr eingeführt werden. Los gehts!
Neue APIs und Funktionen für Erweiterungen
In diesem Abschnitt stellen wir einige wichtige API-Veröffentlichungen vor, gehen kurz auf andere API-Verbesserungen ein und informieren Sie über anstehende Releases. Alle Einführungen sind derzeit in der neuesten Betaversion verfügbar. Weitere Informationen finden Sie im Veröffentlichungszeitplan für Chromium.
Highlights
Behobene bekannte Probleme
Das Erweiterungsteam arbeitet aktiv an der Behebung von Stabilitätsproblemen mit Manifest V3. Mit Chrome 116 wurden viele Verbesserungen eingeführt, mit denen wir große Fortschritte bei der Schließung der Funktionslücke zwischen Manifest V2 und V3 machen konnten. Mit Chrome 120 haben wir alle unsere priorisierten Plattformlücken geschlossen und alle kritischen Fehler behoben, die auf der Seite mit bekannten Problemen aufgeführt sind. Alle Funktionen sind derzeit in Chrome 120 Canary verfügbar, mit Ausnahme der Unterstützung von fileHandler für ChromeOS Lacros und der userScripts API, die später in diesem Monat eingeführt wird. Weitere Informationen findest du auf der aktualisierten Seite Bekannte Probleme.
Verbesserte Stabilität von Dienst-Workern
Stabilitätsprobleme im Zusammenhang mit Service Workern wurden behoben. In Chrome 116 haben wir Erweiterungs-APIs strikte Keep-Alives hinzugefügt, die eine Nutzeraufforderung anzeigen. Außerdem wurde die Unterstützung für WebSockets verbessert (siehe WebSockets in Erweiterungen verwenden). Ab Chrome 118 bleibt ein Service Worker während einer aktiven Debugger API-Sitzung aktiv.
Weitere Informationen finden Sie in unserem aktualisierten Leitfaden zu Service Workern. Wenn Ihre Nutzer in Chrome-Versionen nach Version 119 weiterhin Stabilitätsprobleme im Zusammenhang mit Dienstarbeitern feststellen, teilen Sie uns dies bitte mit.
Erhöhte Sicherheit
Bisher führte das Aufrufen einiger chrome://
-URLs über tabs.update()
, tabs.create
und windows.create()
zu einem Fehler oder zum Absturz von Chrome. Außerdem konnte tabs.update()
keine JavaScript-URL öffnen. In Chrome 117 haben wir die Anzahl der unterstützten chrome://
-URLs erweitert. Außerdem gilt das Blockieren von JavaScript-URLs jetzt auch für alle Erweiterungs-API-Methoden.
In Chrome 117 erhalten Nutzer proaktive Benachrichtigungen auf der Seite „Chrome-Erweiterungen“, wenn eine von ihnen installierte Erweiterung nicht mehr im Chrome Web Store verfügbar ist. Das kann passieren, wenn der Entwickler die Veröffentlichung der Erweiterung aufhebt, sie aufgrund von Richtlinienverstößen entfernt wird oder als Malware erkannt wird. Weitere Informationen finden Sie unter Der Sicherheitscheck auf der Seite chrome://extensions.
In Chrome 118 dürfen Erweiterungen nicht mehr über die chrome.tabs
- und chrome.windows
-APIs auf file://
-URLs zugreifen, es sei denn, die Option „Zugriff auf Datei-URLs zulassen“ ist auf der Detailseite der Erweiterung aktiviert. Weitere Informationen finden Sie in der WECG-Diskussion.
Weitere API-Einführungen
- Runtime API:Ab Chrome 116 können Sie mit
runtime.getContexts()
Informationen zu aktiven Kontexten abrufen. Sie können beispielsweise prüfen, ob ein aktives Offscreen-Dokument vorhanden ist. - Seitenleiste API In Chrome 116 können Sie
sidepanel.open()
verwenden, um die Seitenleiste der Erweiterung programmatisch als Reaktion auf eine Nutzergeste zu öffnen, z. B. ein Klick auf das Kontextmenü. - TabCapture API: In Chrome 116 können Sie
getMediaStreamId()
jetzt über den Erweiterungs-Service-Worker aufrufen und einMediaStream
-Objekt aus einer Stream-ID in einem Offscreen-Dokument abrufen. Beispiele finden Sie unter Audioaufnahmen und Bildschirmaufzeichnungen. - DeclarativeNetRequest API:Der Standardwert für die Eigenschaft
isUrlFilterCaseSensitive
wurde in Chrome 118 infalse
geändert.
Demnächst verfügbar...
Wir planen, alle verbleibenden Probleme auf der Seite mit bekannten Problemen mit der Veröffentlichung von Chrome 120 zu beheben. Außerdem planen wir, die folgenden Funktionen hinzuzufügen:
- Mit der UserScripts API können Nutzerskript-Manager koordinieren, wie und wann eine Sammlung von Nutzerscripts in Webseiten eingefügt werden soll. Weitere Informationen finden Sie im WECG-Vorschlag.
- Mit der ReadingList API können Entwickler Metadaten im Bereich „Leseliste“ des Seitenpanels erstellen, lesen, aktualisieren und löschen. Weitere Informationen finden Sie im Video Das ist neu bei Chrome-Erweiterungen.
- Aufgrund des Feedbacks in der Community-Gruppe für Web-Erweiterungen erhöhen wir die Obergrenze für aktivierte statische Regelsätze von 10 auf 50. Außerdem erhöhen wir die Gesamtzahl der zulässigen statischen Regelsätze von 50 auf 100. Diese Funktion ist derzeit in Canary verfügbar.
- Die File Handling API ist ab ChromeOS 120 für ChromeOS-Erweiterungen verfügbar. Damit können Erweiterungen Dateien mit bestimmten MIME-Typen und Dateiendungen ähnlich wie bei der Dateiverwaltung der Webplattform öffnen.
- Erweiterungen können die Push API über
self.registration.pushManager.subscribe()
verwenden, ohne eine für Nutzer sichtbare Benachrichtigung anzuzeigen, indemuserVisibleOnly
auffalse
gesetzt wird. Dadurch werden Push-Benachrichtigungen zu einer nahtloseren Alternative zu WebSockets in Service Workers (MV3) für die asynchrone Client-Server-Kommunikation. Weitere Informationen finden Sie im Chromium-Fehlerbericht und in der WECG-Diskussion.
Auf der Seite Neuigkeiten bei Erweiterungen finden Sie Ankündigungen, sobald diese Funktionen in Chrome Beta verfügbar sind.
Aktualisierungen der Dokumentation
Außerdem haben wir unsere Dokumentation verbessert und ergänzt. Bitte stellen Sie weiterhin Fragen in der chromium-group und melden Sie Dokumentationsprobleme.
Highlights
- Wir haben die Landingpage für Samples überarbeitet. Sie können jetzt nach API, Berechtigung und Typ filtern, um bestimmte Samples leichter zu finden. Diese Verbesserung wurde in Zusammenarbeit mit unserem Summer of Code-Praktikanten Xuezhou Dai entwickelt. In diesem Blogpost erfahren Sie mehr über seine Erfahrungen.
- Im Hilfeartikel Google Analytics-Konto mit dem Chrome Web Store verwenden wird beschrieben, wie Sie Google Analytics 4 für Ihren Chrome Web Store-Eintrag aufrufen können. Diese Daten ergänzen die im Entwickler-Dashboard bereitgestellten Daten. In diesem Leitfaden erfahren Sie, wie Sie Google Analytics aktivieren, die Anzeigenleistung im Blick behalten, Conversions erfassen und anderen Konten Zugriff auf Google Analytics-Daten gewähren.
- Wir haben einen neuen Leitfaden zur Funktionsweise von Cookies und Webspeicher-APIs in Chrome-Erweiterungen veröffentlicht. Darin finden Sie alles, was Sie als Erweiterungs-Entwickler über die Privacy Sandbox wissen müssen.
- Wir haben neue Artikel zur Integration von Tests in Ihre Erweiterungsprojekte veröffentlicht: Unit-Tests für Chrome-Erweiterungen und End-to-End-Tests für Erweiterungen enthalten allgemeine Anleitungen und Best Practices für eine Reihe beliebter Frameworks. Eine praktische Anleitung finden Sie unter Chrome-Erweiterungen mit Puppeteer testen.
Weitere Neuigkeiten
- Wir haben die Anleitung zur Declarative Net Request API so umformuliert, dass sie klarer zeigt, wie deklarative Regelsätze implementiert werden.
- Wir haben weitere Anleitungen zur Migration extern gehosteten Codes zu Manifest V3 hinzugefügt. Außerdem bieten wir Strategien für die stufenweise Veröffentlichung Ihrer Manifest V3-Erweiterung an, um das Risiko von Problemen bei der Veröffentlichung zu minimieren.
- Weitere Informationen zum Herstellen einer Verbindung zu einem WebSocket im Service Worker Ihrer Erweiterung
- Wir haben unseren Leitfaden zur Hilfe um detailliertere Anleitungen zum Melden von Fehlern, zum Verfolgen bestehender Probleme und zum Anfordern neuer Funktionen erweitert.
Demnächst verfügbar...
- Referenz und Anleitung für die User Scripts API
- Firebase-Anleitung und ‑Beispiele
- ReadingList API-Referenz
Der Chrome Web Store wird neu gestaltet 🌈
Anfang des Monats haben wir eine erste Vorschau des überarbeiteten Chrome Web Store angekündigt, wie wir bereits auf der Google I/O angedeutet hatten. Sehen Sie sich das selbst an: https://chromewebstore.google.com/. Hier einige wichtige Änderungen:
- Die Liste der Kategorien wurde von elf auf siebenzehn in drei Kategoriengruppen erweitert.
- Die automatische Vervollständigung in der Suche wurde verbessert.
- Screenshots werden jetzt in deutlich höherer Qualität angezeigt. Falls noch nicht geschehen, können Sie Screenshots mit einer Auflösung von 1.280 × 800 Pixeln hochladen.
- Antworten auf Fragen auf dem Tab „Support“ enthalten jetzt neue Zeilen.
- Wenn Sie auf Nutzerrezensionen und Supportfragen antworten, wird Ihre Antwort jetzt neben Ihrem Namen mit dem Kennzeichen „Entwickler“ gekennzeichnet.
- Sie können Nutzern einen direkten Link zur Seite mit Rezensionen zur Verfügung stellen, indem Sie am Ende der URL des Store-Artikels „/reviews“ hinzufügen. Beispiel:
https://chromewebstore.google.com/detail/_EXTENSION_ID_/reviews
.
Vielen Dank für die bisherigen Beiträge in der chromium-google-Gruppe. Sie können sich an der Diskussion beteiligen oder über den Menüpunkt Feedback geben direkt Feedback an das CWS-Team senden:
Außerdem kannst du dich über ein Formular selbst für die Sammlung „Empfehlungen der Redaktion“ bewerben. Demnächst werden auch Verbesserungen am Entwickler-Dashboard eingeführt.
💡 Wussten Sie schon?
- Es gibt ein neues Video zum Entwickeln von Chrome-Erweiterungen. Es werden viele Themen behandelt, mit denen Sie möglicherweise bereits vertraut sind, aber auch einige praktische Tipps zur Verwendung der DevTools in Erweiterungen.
- Sie müssen jetzt für jede Erweiterung eine Datenschutzerklärung angeben. Bisher konnten Sie nur eine Datenschutzerklärung pro Entwicklerkonto hinzufügen. Das war jedoch etwas umständlich, wenn Sie mehrere Erweiterungen in einem Entwicklerkonto hatten. Diese neue Benutzeroberfläche ist im Entwickler-Dashboard auf dem Tab Datenschutz Ihres Artikels verfügbar. Datenschutzrichtlinien auf Kontoebene werden also nicht mehr unterstützt.
Wir melden uns bei dir. 🙌
Wir haben uns weiterhin über Einzelgespräche, neue Programme und Teilnahme an Summits an die Community der Erweiterungs-Entwickler gewandt. Hier einige Highlights:
- Das Google Developer Experts-Programm für Erweiterungen wurde im August eingeführt. Wir haben über ein Dutzend neue GDEs, die sich auf Chrome-Erweiterungen spezialisiert haben und uns wertvolles Feedback geben. Das ist eine sehr spannende Zeit für das Programm.
- Wir haben im Rahmen der Web Extensions Community Group an der TPAC (der jährlichen Konferenz des W3C) teilgenommen und uns mit Vertretern von Firefox und Safari sowie mehreren Mitgliedern der Community getroffen. Wir haben in mehreren Bereichen erhebliche Fortschritte erzielt, darunter die Entwicklung einheitlicherer Erweiterungs-APIs, die Arbeit an einer Spezifikation und die Erweiterung der Web-Plattformtests um eine neue Testsuite. Die vollständigen Protokolle finden Sie im WECG-Repository.
- Letzte Woche hat das Erweiterungsteam am Ad-Filtering Dev Summit in Amsterdam teilgenommen. Er hat vor der Summit-Woche und bei den offenen Bürostunden am Freitag einige von euch bei einem Kaffeegespräch getroffen.
Auch wenn Sie an keiner dieser Veranstaltungen teilnehmen konnten, können Sie sich weiterhin beteiligen, indem Sie Fragen in der Google-Gruppe chromium-extensions stellen, den Diskussionen der Browserpartner in der WECG folgen und Dokumentationsprobleme melden.
Vielen Dank, dass Sie Teil der Community für Erweiterungs-Entwickler sind.