Wat is er nieuw in Chrome 120 voor extensies

Chrome 120 is nu beschikbaar als bètaversie en bevat veel interessante updates voor ontwikkelaars van Chrome-extensies.

Het was een druk jaar voor het Chrome Extensions-team. Met de release van Chrome 120 Beta gisteren zet het extensieplatform weer een grote stap voorwaarts. Bekijk onze kwartaalupdates van juli en oktober voor een overzicht van wat er dit jaar is gebeurd. Lees verder voor de nieuwigheden in Chrome 120 voor extensies.

Het dichten van de platformkloof

Met de release van Chrome 120 dichten we de resterende platformhiaten die vermeld staan ​​op onze pagina met bekende problemen in Manifest V3 . De nieuwe userScript API en ondersteuning voor bestandsverwerking op ChromeOS zijn de twee resterende items op de lijst die we nu kunnen afstrepen. Samen met de wijzigingen die in de vorige kwartaalupdate zijn beschreven, zijn we erg tevreden over de huidige status van het Chrome Extension-platform en wat we het afgelopen jaar hebben bereikt.

Nieuwe userScripts API

Ondersteuning voor gebruikersscripts is beschikbaar! Gebruikersscripts zijn (meestal relatief kleine) stukjes code die extensies in webpagina's kunnen injecteren om het uiterlijk of gedrag van de pagina aan te passen. Ze kunnen rechtstreeks door de gebruiker worden gemaakt of worden gevonden in verschillende repositories voor gebruikersscripts op internet. Vanaf Chrome 120 Manifest V3 kunnen extensies de verzameling gebruikersscripts beheren en bepalen wanneer en hoe ze op webpagina's worden geïnjecteerd.

Er is één belangrijk verschil tussen de ondersteuning voor gebruikersscripts in Manifest V2 en Manifest V3. Omdat gebruikersscripts krachtig zijn en een hoog vertrouwen in de auteur van het gebruikersscript vereisen, heeft het Chrome-team besloten dat gebruikers de ontwikkelaarsmodus moeten inschakelen voordat ze een gebruikersscript kunnen uitvoeren.

Extensiespagina
Extensiepagina (chrome://extensions)

Ons nieuwe userScript-voorbeeld demonstreert een eenvoudige aanpak voor het detecteren of de ontwikkelaarsmodus is ingeschakeld en biedt een eenvoudige onboarding-flow.

Voorbeeld van een onboarding-flow voor gebruikersscripts.
Gebruikers aan boord halen wanneer de ontwikkelaarsmodus is uitgeschakeld.

Om te beginnen kunt u de documentatie raadplegen of het officiële voorbeeld bekijken.

Hogere statische DNR-regelsetlimieten

We hebben de limiet voor ingeschakelde statische regels aanzienlijk verhoogd van 10 naar 50. Daarnaast hebben we het totale aantal toegestane statische regels verhoogd van 50 naar 100. Dit is een reactie op de feedback die we hebben ontvangen in de Web Extensions Community Group.

Nieuwe ReadingList API

Chrome introduceerde de leeslijst in 2021. Vorig jaar heeft het Chrome-team de toegang tot de leeslijst nog eenvoudiger gemaakt via het zijpaneel. Met Chrome 120 voegen we de mogelijkheid toe voor Chrome-extensies om items in de leeslijst aan te maken, te lezen, bij te werken en te verwijderen. Bekijk de API-documentatie en ons nieuwe voorbeeld voor meer informatie.

De leeslijst van Chrome toont de extensiedocumentpagina's.
Het zijpaneel met de leeslijst in Chrome.

Bestandsbeheer op ChromeOS

Met bestandsbeheer kunnen extensies bestanden met specifieke MIME-typen en bestandsextensies openen op een vergelijkbare manier als bestandsbeheer op webplatforms. Zie Bestandsbeheer op ChromeOS voor meer informatie over het gebruik ervan.

Schermafbeelding van het dialoogvenster 'Open bestand met extensie' op ChromeOS
Open bestanden in een extensie op ChromeOS.

Activeer een alarm in 30 seconden

Dit is een kleine update, maar het verhelpt een belangrijke lacune in de levenscyclus van de service worker. Vanwege het gebeurtenisgestuurde karakter van service workers is de aanbevolen manier om in de toekomst een gebeurtenis te activeren via chrome.alarms . De Alarms API zorgt ervoor dat de gebeurtenis wordt geactiveerd, zelfs als de service worker in de tussentijd wordt afgesloten.

Er zit echter een addertje onder het gras. Vóór Chrome 120 was de kortste tijd om een ​​alarm te activeren één minuut. Service workers sloten echter af na 30 seconden inactiviteit. Er was dus geen eenvoudige manier om een ​​alarm te plannen om over 45 seconden af ​​te gaan, want wanneer setTimeout() werd gebruikt om een ​​gebeurtenis in te stellen op 45 seconden, kon de service worker mogelijk worden afgesloten voordat de gebeurtenis werd geactiveerd.

Vanaf Chrome 120 kunt u een gebeurtenis activeren in:

  • minder dan 30 seconden met behulp van setTimeout() .
  • alles langer dan of gelijk aan 30 seconden met behulp van chrome.alarms :
await chrome.alarms.create('demo-default-alarm', {
   periodInMinutes: 0.45
 });

Samenvatting

We zijn erg enthousiast over de vooruitgang die het extensieplatform het afgelopen jaar heeft geboekt. Chrome 120 is een nieuwe grote stap met verhoogde DNR-limieten en ondersteuning voor gebruikersscripts.