Chrome 120 is nu beschikbaar als bètaversie en bevat veel spannende updates voor ontwikkelaars van Chrome-extensies.
Het is een druk jaar geweest voor het Chrome Extensions-team. Met de Chrome 120 Beta-release van gisteren maakt het extensieplatform opnieuw een grote stap voorwaarts. Voor een overzicht van wat er dit jaar is gebeurd, bekijk onze kwartaalupdates van juli en oktober . Lees verder voor wat er nieuw is in Chrome 120 voor extensies.
Het dichten van de platformkloof
Met de release van Chrome 120 zullen we de resterende gaten in het platform dichten die staan vermeld op onze pagina met bekende problemen in Manifest V3 . De nieuwe userScript API en ondersteuning voor bestandsverwerking op ChromeOS zijn de twee overgebleven items op de lijst die we nu kunnen afstrepen. Samen met de veranderingen beschreven in de vorige kwartaalupdate zijn we erg blij met de huidige staat van Chrome Uitbreidingsplatform en wat we het afgelopen jaar hebben bereikt.
Nieuwe userScripts-API
Ondersteuning voor gebruikersscripts is geland! Gebruikersscripts zijn (meestal relatief kleine) codefragmenten die extensies in webpagina's kunnen injecteren om het uiterlijk of het gedrag van de pagina te wijzigen. Ze kunnen rechtstreeks door de gebruiker worden gemaakt of worden ontdekt in een aantal verschillende opslagplaatsen voor gebruikersscripts op internet. Vanaf Chrome 120 kunnen Manifest V3-extensies nu de verzameling gebruikersscripts beheren en bepalen wanneer en hoe deze op webpagina's moeten worden geïnjecteerd.
Er is één significant verschil tussen ondersteuning voor gebruikersscripts in Manifest V2 en Manifest V3. Omdat gebruikersscripts krachtig zijn en veel vertrouwen vereisen in de auteur van het gebruikersscript, heeft het Chrome-team besloten dat gebruikers zich moeten aanmelden voor de ontwikkelaarsmodus voordat ze een gebruikersscript kunnen uitvoeren.
Ons nieuwe userScript-voorbeeld demonstreert een eenvoudige aanpak om te detecteren of de ontwikkelaarsmodus is ingeschakeld en biedt een eenvoudige onboarding-stroom.
Bekijk de documentatie of bekijk het officiële voorbeeld om aan de slag te gaan.
Hogere statische DNR-regelsetlimieten
We hebben de limiet voor ingeschakelde statische regelsets aanzienlijk verhoogd van 10 naar 50. Daarnaast hebben we het totale aantal toegestane statische regelsets verhoogd van 50 naar 100. Dit is een reactie op feedback die we hebben ontvangen in de Web Extensions Community Group.
Nieuwe ReadingList-API
Chrome introduceerde de leeslijst in 2021. Vorig jaar maakte het Chrome-team de toegang tot de leeslijst nog makkelijker via het zijpaneel. Met Chrome 120 voegen we de mogelijkheid toe voor Chrome-extensies om leeslijstitems te maken, lezen, bijwerken en verwijderen. Bekijk voor meer informatie de API-documentatie en ons nieuwe voorbeeld .
Bestandsafhandeling op ChromeOS
Met bestandsverwerking kunnen extensies bestanden openen met gespecificeerde MIME-typen en bestandsextensies op een vergelijkbare manier als de bestandsverwerking op webplatforms. Bekijk Bestandsbeheer op ChromeOS voor meer informatie over het gebruik ervan.
Activeer binnen 30 seconden een alarm
Dit is een kleine update, maar adresseert een belangrijke leemte in de levenscyclus van servicemedewerkers. Vanwege de gebeurtenisgestuurde aard van servicemedewerkers, is de aanbevolen manier om in de toekomst een gebeurtenis te activeren het gebruik van chrome.alarms
. De Alarms API zorgt ervoor dat de gebeurtenis wordt geactiveerd, zelfs als de servicemedewerker tussentijds wordt afgesloten.
Er zit echter een addertje onder het gras. Vóór Chrome 120 was de kortste tijdspanne om een alarm te activeren één minuut. Servicemedewerkers stopten echter na 30 seconden inactiviteit. Er was dus geen eenvoudige manier om te plannen dat een alarm binnen 45 seconden zou afgaan, omdat wanneer setTimeout()
werd gebruikt om een gebeurtenis in te stellen binnen 45 seconden, de servicemedewerker mogelijk zou worden uitgeschakeld voordat de gebeurtenis werd geactiveerd.
Vanaf Chrome 120 kun je nu een gebeurtenis activeren in:
- minder dan 30 seconden met
setTimeout()
. - alles langer dan of gelijk aan 30 seconden met
chrome.alarms
:
await chrome.alarms.create('demo-default-alarm', {
periodInMinutes: 0.45
});
Samenvatting
We zijn erg enthousiast over de vooruitgang die het uitbreidingsplatform het afgelopen jaar heeft geboekt. Chrome 120 is weer een grote stap met toenemende DNR-limieten en ondersteuning voor gebruikersscripts.