Wat gebeurt er in Chrome-extensies?

In juli lanceerden we een nieuwe blogserie om u op de hoogte te houden van de ontwikkelingen op het gebied van extensies. Dankzij uw waardevolle feedback en onze voortdurende samenwerking met collega-browserleveranciers in de WebExtensions Community Group blijven we extensie-API's verbeteren en werken we aan een grotere consistentie tussen browsers.

Welkom bij de oktobereditie! In dit bericht bekijken we enkele van de veranderingen die het Chrome-extensieteam de afgelopen maanden heeft aangebracht, evenals enkele nieuwe functies die later dit jaar verschijnen. Laten we beginnen!

Nieuwe extensie-API's en functies

In deze sectie delen we enkele belangrijke API-lanceringen, bespreken we kort andere API-verbeteringen en delen we aankomende releases. Alle lanceringen zijn momenteel beschikbaar in de nieuwste bètaversie. Zie het releaseschema voor chroom voor meer informatie.

Hoogtepunten

Bekende problemen opgelost

Het uitbreidingsteam heeft actief gewerkt aan het oplossen van Manifest V3-stabiliteitsproblemen. Chrome 116 heeft veel verbeteringen geïntroduceerd die ons hebben geholpen aanzienlijke vooruitgang te boeken bij het dichten van de functiekloof tussen Manifest V2 en V3. In Chrome 120 zijn we klaar met het aanpakken van al onze geprioriteerde platformhiaten en hebben we alle kritieke bugs gesloten die zijn gedocumenteerd op de pagina met bekende problemen . Alle functies zijn momenteel beschikbaar in Chrome 120 Canary, behalve fileHandler-ondersteuning voor ChromeOS Lacros en de userScripts API die later deze maand beschikbaar komt. Bekijk de bijgewerkte pagina met bekende problemen voor meer details.

Verbeterde stabiliteit van servicemedewerkers

Stabiliteitsproblemen met betrekking tot servicemedewerkers zijn opgelost. In Chrome 116 hebben we sterke keep-alives toegevoegd aan extensie-API's die een gebruikersprompt weergeven en verbeterde ondersteuning voor WebSockets (zie de handleiding WebSockets gebruiken in extensies ). Vanaf Chrome 118 blijft een servicemedewerker in leven tijdens een actieve Debugger API-sessie .

Bekijk onze bijgewerkte richtlijnen voor servicemedewerkers voor meer informatie. Als uw gebruikers in Chrome-versies na 119 nog steeds stabiliteitsproblemen ondervinden die verband houden met servicemedewerkers, kunt u ons dit laten weten .

Verhoogde veiligheid

Voorheen gaf het navigeren naar bepaalde chrome:// -URL's met behulp van tabs.update() , tabs.create en windows.create() een foutmelding of crashte Chrome. Bovendien kon tabs.update() geen JavaScript-URL openen. In Chrome 117 hebben we het aantal ondersteunde chrome:// -URL's uitgebreid, en de JavaScript-URL-blokkering is nu ook van toepassing op alle extensie-API-methoden.

In Chrome 117 ontvangen gebruikers proactieve meldingen op de pagina Chrome-extensies als een extensie die ze hebben geïnstalleerd niet langer beschikbaar is in de Chrome Web Store. Dit kan gebeuren als de ontwikkelaar de publicatie van de extensie ongedaan maakt, deze wordt verwijderd wegens beleidsschendingen of als deze wordt geïdentificeerd als malware. Zie Veiligheidscontrole naar de chrome://extensions-pagina voor meer informatie.

In Chrome 118 mogen extensies niet naar file:// URL's navigeren met behulp van de chrome.tabs en chrome.windows API's, tenzij de optie 'Toegang tot bestands-URL's toestaan' is ingeschakeld op de detailpagina van de extensie. Zie de WECG-discussie .

Meer API-lanceringen

  • Runtime API: Vanaf Chrome 116 kunt u runtime.getContexts() gebruiken om informatie over actieve contexten op te halen. U kunt bijvoorbeeld controleren of er een actief document buiten het scherm is.
  • API voor zijpaneel In Chrome 116 kunt u sidepanel.open() gebruiken om het zijpaneel van de extensie programmatisch te openen als reactie op een gebruikersgebaar, zoals klikken op een contextmenu.
  • TabCapture API De mogelijkheid toegevoegd om getMediaStreamId() aan te roepen vanuit de extensieservicemedewerker en een MediaStream object te verkrijgen van een stream-ID in een document buiten het scherm in Chrome 116. Zie Audio-opname en schermopname voor voorbeelden.
  • DeclarativeNetRequest API: de standaardwaarde voor de eigenschap isUrlFilterCaseSensitive is in Chrome 118 gewijzigd in false .

Binnenkort beschikbaar...

We zijn van plan alle resterende items op de pagina met bekende problemen aan te pakken met de release van Chrome 120. Daarnaast zijn we van plan de volgende functies toe te voegen:

  • Met de UserScripts API kunnen gebruikersscriptbeheerders coördineren hoe en wanneer een verzameling gebruikersscripts in webpagina's moet worden geïnjecteerd. Zie het WECG-voorstel voor details.
  • Met de ReadingList API kunnen ontwikkelaars metagegevens in het leeslijstpaneel van het zijpaneel maken, lezen, bijwerken en verwijderen. Bekijk Wat is er nieuw in Chrome-extensies voor de aankondiging.
  • Naar aanleiding van feedback in de Web Extensions Community Group verhogen we de limiet voor ingeschakelde statische regelsets aanzienlijk van 10 naar 50 . Daarnaast verhogen we het totale aantal toegestane statische regelsets van 50 naar 100 . Dit is momenteel beschikbaar in Canarische eilanden.
  • De File Handling API: zal beschikbaar zijn voor ChromeOS-extensies vanaf ChromeOS 120, waarmee extensies bestanden met gespecificeerde MIME-typen en bestandsextensies kunnen openen op een vergelijkbare manier als de bestandsverwerking op webplatforms.
  • Extensies kunnen de web Push API gebruiken via self.registration.pushManager.subscribe() zonder een voor de gebruiker zichtbare melding weer te geven door userVisibleOnly in te stellen op false . Dit maakt pushmeldingen een naadloos alternatief voor WebSockets in serviceworkers (MV3) voor asynchrone client-servercommunicatie. Zie Chromium-bug en WECG-discussie voor details.

Houd de pagina Wat is er nieuw in extensies in de gaten voor aankondigingen zodra deze functies beschikbaar zijn in Chrome Bèta .

Documentatie-upgrades

We hebben ook onze documentatie verbeterd en uitgebreid. Blijf vragen stellen over de chroomgroep en documentatieproblemen melden .

Hoogtepunten

Meer updates

Binnenkort beschikbaar...

  • API-referentie en tutorial voor gebruikersscripts.
  • Firebase-tutorial en voorbeelden.
  • ReadingList API-referentie.

Het opnieuw ontwerpen van de Chrome Webwinkel 🌈

Schermafbeelding van de startpagina van de Chrome Web Store. .
De nieuwe startpagina van de Chrome Web Store

Eerder deze maand kondigden we een vroege preview aan van de vernieuwde Chrome Web Store, zoals we al hintten naar Google I/O. Bekijk het zelf! https://chromewebstore.google.com/ . Een paar opmerkelijke veranderingen zijn:

  • De lijst met categorieën is vergroot van een lijst van elf naar een nieuwe lijst van zeventien in drie categoriegroepen.
  • Verbeterde automatische aanvulling in de zoekopdracht.
  • Screenshots worden nu met een aanzienlijk hogere kwaliteit weergegeven. Als u dat nog niet heeft gedaan, kunt u schermafbeeldingen van 1280 x 800 uploaden.
  • Antwoorden op vragen op het tabblad Ondersteuning tonen nu nieuwe regels.
  • Wanneer u reageert op gebruikersrecensies en ondersteuningsvragen, bevat uw antwoord nu een badge 'Ontwikkelaar' naast uw naam.
  • U kunt gebruikers een directe link naar de recensiespagina geven door '/reviews' toe te voegen aan het einde van de URL van uw winkelitem. Bijvoorbeeld: https://chromewebstore.google.com/detail/_EXTENSION_ID_/reviews .

Bedankt voor de inbreng van iedereen tot nu toe in de chroom-google-groep . Neem gerust deel aan de discussie of stuur uw feedback rechtstreeks naar het CWS-team via het menu-item Feedback geven :

Geef feedback op de Chrome Web Store-pagina
Feedback geven op de Chrome Web Store-pagina

Daarnaast kunt u een zelfnominatieformulier indienen om te worden opgenomen in de Editors' Picks-collectie. Houd ons in de gaten voor verbeteringen die binnenkort ook beschikbaar zijn op het ontwikkelaarsdashboard!

💡 Wist je dat?

  • Er is een nieuwe video over het debuggen van Chrome-extensies. Het behandelt veel onderwerpen waarmee u misschien al bekend bent, maar het deelt ook een paar handige trucs voor het gebruik van DevTools in extensies.
  • U bent nu verplicht om voor elke extensie een privacybeleid op te geven. Voorheen kon je maar één privacybeleid per ontwikkelaarsaccount toevoegen, maar het was lastig als je een paar extensies onder één ontwikkelaarsaccount had. Deze nieuwe interface is beschikbaar op het tabblad Privacy van uw item in het ontwikkelaarsdashboard. Dit betekent dat het privacybeleid op accountniveau niet langer wordt ondersteund.
    Screenshot van het privacybeleidvenster
    Screenshot van het privacybeleidvenster

Contact opnemen 🙌

We zijn doorgegaan met het bereiken van de gemeenschap van extensie-ontwikkelaars via 1:1-gesprekken, het lanceren van nieuwe programma's en het bijwonen van topconferenties. Hier zijn een paar hoogtepunten:

  • Het Google Developer Experts-programma voor extensies werd in augustus gelanceerd. We hebben meer dan een dozijn nieuwe op Chrome-extensies gerichte GDE's van over de hele wereld die ons geweldige feedback geven. Het is een zeer spannende tijd voor het programma!
  • We woonden TPAC (jaarlijkse conferentie van W3C) bij als onderdeel van de Web Extensions Community Group en ontmoetten vertegenwoordigers van Firefox en Safari, samen met verschillende leden van de gemeenschap. We hebben aanzienlijke vooruitgang geboekt op verschillende onderwerpen, waaronder de stap naar meer consistente uitbreidings-API's, het werken aan een specificatie en het voortbouwen op Web Platform Tests om een ​​nieuw testpakket te creëren. Lees de volledige notulen in de WECG-repository .
  • Vorige week nam het uitbreidingsteam deel aan de Ad-Filtering Dev Summit in Amsterdam. Ze hebben een aantal van jullie ontmoet tijdens een koffiepraatje dat ze organiseerden vóór de topweek en het open spreekuur op vrijdag.
    Extensieteam in Ad-filtering Dev Summit
    Extensieteam in Ad-filtering Dev Summit

Zelfs als u een van deze evenementen niet kunt bijwonen, kunt u betrokken blijven door vragen te stellen in de Google -groep met chroomextensies , door discussies van browserpartners op de WECG te volgen en eventuele documentatieproblemen te melden.

Nogmaals bedankt dat je deel uitmaakt van de gemeenschap van extensie-ontwikkelaars!