Im Juli haben wir eine neue Blogreihe veröffentlicht, um Sie über die Entwicklung von Erweiterungen auf dem Laufenden zu halten. Dank Ihres wertvollen Feedbacks und der kontinuierlichen Zusammenarbeit mit anderen Browseranbietern in der WebExtensions Community Group können wir die Erweiterungs-APIs weiter verbessern und auf eine höhere Konsistenz in allen Browsern hinarbeiten.
Willkommen bei der Oktoberausgabe! In diesem Post werfen wir einen Blick auf einige Änderungen, die das Team für Chrome-Erweiterungen in den letzten Monaten vorgenommen hat, sowie auf einige neue Funktionen, die im Laufe des Jahres eingeführt werden. Los gehts!
Neue Erweiterungs-APIs und -Funktionen
In diesem Abschnitt stellen wir einige wichtige API-Einführungen vor, sehen uns andere API-Verbesserungen kurz an und informieren Sie über kommende Releases. Alle Markteinführungen sind derzeit in der neuesten Betaversion verfügbar. Weitere Informationen finden Sie im Veröffentlichungszeitplan für Chromium.
Highlights
Bekannte Probleme behoben
Das Erweiterungsteam hat aktiv daran gearbeitet, Probleme mit Manifest V3-Stabilität zu beheben. In Chrome 116 wurden viele Verbesserungen eingeführt, die uns geholfen haben, deutliche Fortschritte beim Schließen der Funktionslücke zwischen Manifest V2 und V3 zu machen. In Chrome 120 werden wir alle priorisierten Plattformlücken geschlossen und alle kritischen Fehler behoben, die auf der Seite mit bekannten Problemen dokumentiert sind. Alle Funktionen sind derzeit in Chrome 120 Canary verfügbar. Ausgenommen sind die fileHandler-Unterstützung für ChromeOS Lacros und die userScripts API, die im Laufe des Monats eingeführt wird. Weitere Informationen finden Sie auf der aktualisierten Seite mit bekannten Problemen.
Verbesserte Service Worker-Stabilität
Stabilitätsprobleme in Verbindung mit Service Workern wurden behoben. In Chrome 116 haben wir Erweiterungs-APIs, die eine Nutzeraufforderung anzeigen, starke Keep-Alives hinzugefügt und die Unterstützung für WebSockets verbessert (siehe Anleitung WebSockets in Erweiterungen verwenden). Ab Chrome 118 bleibt ein Service Worker während einer aktiven Debugger API-Sitzung aktiv.
Weitere Informationen finden Sie in unserer aktualisierten Service Worker-Anleitung. Falls Ihre Nutzer nach 119 weiterhin durch Service Worker Stabilitätsprobleme in Chrome-Versionen haben, teilen Sie uns dies bitte mit.
Erhöhte Sicherheit
Bisher wurde beim Aufrufen einiger chrome://
-URLs mit tabs.update()
, tabs.create
und windows.create()
ein Fehler ausgegeben oder Chrome stürzte ab. Außerdem konnte mit tabs.update()
keine JavaScript-URL geöffnet werden. In Chrome 117 haben wir die Anzahl der unterstützten chrome://
-URLs erweitert. Die Blockierung von JavaScript-URLs gilt jetzt auch für alle Erweiterungs-API-Methoden.
In Chrome 117 erhalten Nutzer proaktive Benachrichtigungen auf der Seite für Chrome-Erweiterungen, wenn eine 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 oder als Malware identifiziert wurde. Ausführliche Informationen finden Sie unter Sicherheitscheck auf der Seite chrome://extensions durchführen.
In Chrome 118 dürfen Erweiterungen keine file://
-URLs mit der chrome.tabs
und der chrome.windows
API aufrufen, es sei denn, die Option „Zugriff auf Datei-URLs erlauben“ 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
runtime.getContexts()
verwenden, um Informationen zu aktiven Kontexten abzurufen. So können Sie beispielsweise prüfen, ob ein nicht sichtbares Dokument aktiv ist. - Seitenleisten-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. einen Klick auf das Kontextmenü. - TabCapture API Es wurde die Möglichkeit hinzugefügt,
getMediaStreamId()
über den Service Worker der Erweiterung aufzurufen und einMediaStream
-Objekt aus einer Stream-ID in einem nicht sichtbaren Dokument in Chrome 116 abzurufen. Beispiele finden Sie unter Audio- und Bildschirmaufnahme. - DeclarativeNetRequest API:Der Standardwert für die Property
isUrlFilterCaseSensitive
wurde in Chrome 118 zufalse
geändert.
Demnächst verfügbar...
Wir planen, mit der Veröffentlichung von Chrome 120 auch alle verbleibenden Punkte auf der Seite mit bekannten Problemen zu beheben. Außerdem planen wir, die folgenden Funktionen hinzuzufügen:
- Mit der UserScripts API können Nutzer-Skriptmanager koordinieren, wie und wann eine Sammlung von Nutzerskripts in Webseiten eingefügt wird. Weitere Informationen findest du im WECG-Vorschlag.
- Mit der ReadingList API können Entwickler Metadaten im Leselistenbereich der Seitenleiste erstellen, lesen, aktualisieren und löschen. Sehen Sie sich die Ankündigung unter Neuerungen bei Chrome-Erweiterungen an.
- Aufgrund des Feedbacks aus der Community-Gruppe für Weberweiterungen haben wir das Limit für aktivierte statische Regelsätze erheblich von 10 auf 50 erhöht. Außerdem erhöhen wir die Gesamtzahl der zulässigen statischen Regelsätze von 50 auf 100. Diese Funktion ist derzeit nur auf 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 Webplattformen öffnen.
- Erweiterungen können die Push API im Web über
self.registration.pushManager.subscribe()
verwenden, ohne eine für Nutzer sichtbare Benachrichtigung anzuzeigen. Dazu setzt duuserVisibleOnly
auffalse
. Push-Benachrichtigungen werden dadurch zu einer nahtloseren Alternative zu WebSockets in Service Workern (MV3) für eine asynchrone Client-Server-Kommunikation. Weitere Informationen findest du im Chromium-Bug und der WECG-Diskussion.
Auf der Seite Neu bei Erweiterungen finden Sie Ankündigungen, sobald diese Funktionen in Chrome Beta verfügbar sind.
Upgrades der Dokumentation
Außerdem haben wir unsere Dokumentation verbessert und ergänzt. Bitte stellen Sie weiterhin Fragen zur chromium-group und melden Sie Probleme mit der Dokumentation.
Highlights
- Wir haben die Beispiel-Landingpage überarbeitet. Sie können jetzt nach API, Berechtigung und Typ filtern, um bestimmte Beispiele leichter zu finden. Diese Verbesserung ist eine gemeinsame Anstrengung mit unserem Praktikant Xuezhou Dai, unserem „Summer of Code“-Praktikum. Mehr darüber erfahren Sie in diesem Blogpost.
- Unter Google Analytics-Konto mit dem Chrome Web Store verwenden wird beschrieben, wie Sie Google Analytics 4 für Ihren Chrome Web Store-Eintrag aufrufen und die Daten im Entwickler-Dashboard ergänzen. In diesem Leitfaden erfahren Sie, wie Sie Google Analytics aktivieren, die Anzeigenleistung beobachten, Conversions erfassen und anderen Konten Zugriff auf Google Analytics-Daten gewähren.
- Wir haben einen neuen Leitfaden zur Funktionsweise von Cookies und Web Storage APIs in Chrome-Erweiterungen veröffentlicht. Es enthält alles, was Sie als Entwickler von Erweiterungen über Privacy Sandbox wissen müssen.
- Wir haben neue Artikel zur Integration von Tests in Ihre Erweiterungsprojekte veröffentlicht: Unittests für Chrome-Erweiterungen und End-to-End-Tests für Erweiterungen. Hier werden allgemeine Anleitungen und Best Practices für eine Reihe beliebter Frameworks beschrieben. Eine praktische Anleitung finden Sie unter Chrome-Erweiterungen mit Puppeteer testen.
Weitere Neuigkeiten
- Wir haben die Anleitung für die Delarative Net Request API überarbeitet, um ein klareres Bild der Implementierung deklarativer Regelsätze zu vermitteln.
- Wir haben weitere Informationen zur Migration von extern gehostetem Code zu Manifest V3 hinzugefügt. Außerdem bieten wir Strategien für die gestaffelte Veröffentlichung einer Manifest V3-Erweiterung, um das Risiko von Problemen während der Veröffentlichung zu minimieren.
- Informationen zum Herstellen einer Verbindung zu einem WebSocket im Service Worker Ihrer Erweiterung
- Wir haben unseren Leitfaden „Hilfe erhalten“ um detailliertere Anleitungen ergänzt, z. B. wie Sie Fehler melden, vorhandene Probleme im Blick behalten und neue Funktionen anfragen.
Demnächst verfügbar...
- User Scripts API-Referenz und Anleitung
- Firebase-Tutorial und -Beispiele
- ReadingList API-Referenz
Neugestaltung des Chrome Web Store 🌈
Wie schon auf der Google I/O angedeutet, haben wir Anfang des Monats eine Vorschau des überarbeiteten Chrome Web Store angekündigt. Überzeugen Sie sich selbst: https://chromewebstore.google.com/. Hier einige bemerkenswerte Änderungen:
- Die Liste der Kategorien wurde von elf auf eine neue Liste mit siebzehn in drei Kategorien erweitert.
- Die automatische Vervollständigung in der Suche wurde verbessert.
- Screenshots werden jetzt in deutlich höherer Qualität angezeigt. Falls noch nicht geschehen, kannst du Screenshots im Format 1280 x 800 hochladen.
- Bei Antworten auf Fragen auf dem Tab „Support“ werden jetzt Zeilenumbrüche angezeigt.
- Wenn Sie auf Nutzerrezensionen und Supportanfragen antworten, wird neben Ihrem Namen jetzt das Logo „Entwickler“ angezeigt.
- Du kannst Nutzern einen direkten Link zur Rezensionsseite bereitstellen, indem du „/reviews“ am Ende der URL deines Store-Artikels hinzufügst. Beispiel:
https://chromewebstore.google.com/detail/_EXTENSION_ID_/reviews
.
vielen Dank für die bisherigen Beiträge zur chromium-google-Gruppe. Sie können sich gerne an der Diskussion beteiligen oder Ihr Feedback über den Menüpunkt Feedback geben direkt an das CWS-Team senden:
Darüber hinaus können Sie ein Formular zur Selbstnominierung einreichen, damit es in die Empfehlungen der Redaktion aufgenommen wird. Demnächst werden auch Verbesserungen am Entwickler-Dashboard vorgenommen.
💡 Schon gewusst?
- Es gibt ein neues Video zum Debugging von Chrome-Erweiterungen. Er behandelt viele Themen, mit denen du vielleicht schon vertraut bist, aber es gibt auch ein paar praktische Tricks für die Verwendung der Entwicklertools in Erweiterungen.
- Sie müssen jetzt für jede Erweiterung eine Datenschutzerklärung angeben. Bisher konnte nur eine Datenschutzerklärung pro Entwicklerkonto hinzugefügt werden. Das war jedoch umständlich, wenn mehrere Erweiterungen in einem Entwicklerkonto verwendet wurden. Du findest diese neue Oberfläche im Entwickler-Dashboard auf dem Tab Datenschutz deines Artikels. Das bedeutet, dass Datenschutzerklärungen auf Kontoebene nicht mehr unterstützt werden.
Kontaktiere mich 🙌
Wir haben die Community der Erweiterungsentwickler auch weiterhin in persönlichen Gesprächen kontaktiert, neue Programme eingeführt und an Konferenzen teilgenommen. Hier einige Highlights:
- Das Google Developer Experts-Programm für Erweiterungen wurde im August gestartet. Wir haben über ein Dutzend neue, auf Chrome-Erweiterungen fokussierte GDEs weltweit, die uns wertvolles Feedback gegeben haben. Es ist eine sehr aufregende Zeit für das Programm!
- Wir haben als Teil der Web Extensions Community Group an TPAC (jährliche Konferenz des W3C) teilgenommen und uns mit Vertretern von Firefox und Safari sowie mehreren Mitgliedern der Community getroffen. Wir haben in verschiedenen Themen erhebliche Fortschritte erzielt, z. B. bei der Entwicklung einheitlicher Erweiterungs-APIs, der Arbeit an einer Spezifikation und der Entwicklung einer neuen Testsuite auf Webplattformtests. Die vollständigen Minuten findest du im WECG-Repository.
- Letzte Woche nahm das Erweiterungsteam am Ad-Filtering Dev Summit in Amsterdam teil. Sie haben mehrere von Ihnen vor der Summit-Woche und der offenen Sprechstunde am Freitag bei einem Kaffee-Chat getroffen, den sie veranstaltet haben.
Auch wenn Sie an keiner dieser Veranstaltungen teilnehmen konnten, können Sie sich weiterhin einbringen, indem Sie der Google-Gruppe chromium-extensions Fragen stellen, den Diskussionen über Browserpartner zur WECG folgen und Probleme mit der Dokumentation melden.
Nochmals vielen Dank, dass Sie Teil der Community für Entwickler von Erweiterungen sind.