In juli lanceerden we een nieuwe blogreeks 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 eenMediaStream
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 infalse
.
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 dooruserVisibleOnly
in te stellen opfalse
. 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
- We hebben de landingspagina 'Voorbeelden' vernieuwd. U kunt nu filteren op API, toestemming en type, waardoor u gemakkelijker specifieke voorbeelden kunt vinden. Deze verbetering was een samenwerking met onze Summer of Code-stagiaire, Xuezhou Dai. Lees zijn ervaringen in deze blogpost .
- Als u uw Google Analytics-account bij de Chrome Web Store gebruikt, wordt beschreven hoe u Google Analytics 4 voor uw Chrome Web Store-vermelding kunt bekijken, als aanvulling op de gegevens die worden verstrekt door het ontwikkelaarsdashboard. Deze handleiding biedt stappen om u aan te melden voor Google Analytics, de advertentieprestaties te controleren, conversies bij te houden en andere accounts toegang te verlenen tot Google Analytics-gegevens.
- We hebben een nieuwe handleiding gepubliceerd over hoe cookies en webopslag-API's werken in Chrome-extensies. Het bevat alles wat u moet weten over Privacy Sandbox als extensie-ontwikkelaar.
- We hebben nieuwe artikelen gelanceerd over hoe u testen in uw extensieprojecten kunt integreren: Unit-testen van Chrome-extensies en End-to-end-testen voor extensies behandelen algemene richtlijnen en best practices voor een aantal populaire frameworks. Zie Chrome-extensies testen met Puppeteer voor een praktische tutorial.
Meer updates
- We hebben de Declarative Net Request API- richtlijnen herschreven op een manier die een duidelijker beeld schetst van hoe declaratieve regelsets kunnen worden geïmplementeerd.
- We hebben meer richtlijnen toegevoegd voor het migreren van op afstand gehoste code naar Manifest V3 . Om het risico op problemen tijdens de release te minimaliseren, bieden we bovendien strategieën voor het in fasen publiceren van uw Manifest V3-extensie .
- Leer hoe u verbinding kunt maken met een WebSocket in de servicewerker van uw extensie .
- We hebben onze Handleiding voor het verkrijgen van hulp uitgebreid met meer gedetailleerde instructies over hoe u een bug meldt, bestaande problemen bijhoudt, nieuwe functies aanvraagt en meer.
Binnenkort beschikbaar...
- API-referentie en tutorial voor gebruikersscripts.
- Firebase-tutorial en voorbeelden.
- ReadingList API-referentie.
Het opnieuw ontwerpen van de Chrome Webwinkel 🌈
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 :
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.
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.
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!