Novità di Chrome 120 per le estensioni

Chrome 120 è ora disponibile in versione beta e include molti aggiornamenti interessanti per gli sviluppatori di estensioni di Chrome.

È stato un anno frenetico per il team delle estensioni di Chrome. Con la release di Chrome 120 Beta di ieri, la piattaforma delle estensioni sta facendo un altro grande passo avanti. Per una panoramica di ciò che è successo quest'anno, consulta i nostri aggiornamenti trimestrali di luglio e ottobre. Continua a leggere per le novità di Chrome 120 per le estensioni.

Colmare il divario di piattaforme

Con il rilascio di Chrome 120, chiuderemo le restanti lacune della piattaforma elencate nella nostra pagina dei problemi noti di Manifest V3. La nuova API userScript e il supporto per la gestione dei file su ChromeOS sono le due altre voci dell'elenco che ora possiamo cancellare. Insieme alle modifiche descritte nel precedente aggiornamento trimestrale, siamo molto soddisfatti dello stato attuale della piattaforma di estensione di Chrome e dei risultati che abbiamo ottenuto nell'ultimo anno.

Nuova API userScripts

Il supporto degli script utente è ora disponibile. Gli script utente sono (solitamente relativamente piccoli) snippet di codice che le estensioni possono inserire nelle pagine web per modificarne l'aspetto o il comportamento. Possono essere create direttamente dall'utente o scoperte in una serie di vari repository di script utente sul web. A partire dalle estensioni di Chrome 120 Manifest V3, ora possono gestire la raccolta di script utente e determinare quando e come inserirli nelle pagine web.

Esiste una differenza significativa tra il supporto degli script utente in Manifest V2 e Manifest V3. Poiché gli script utente sono potenti e richiedono un'elevata fiducia nell'autore dello script dell'utente, il team di Chrome ha deciso che gli utenti devono attivare la modalità sviluppatore prima di poter eseguire uno script dell'utente.

La pagina Estensioni
Pagina Estensioni (chrome://extensions)

Il nostro nuovo esempio di userScript dimostra un approccio semplice per rilevare se la modalità sviluppatore è attivata e fornire un semplice flusso di onboarding.

Esempio di flusso di onboarding per gli script utente.
Eseguire l'onboarding degli utenti quando la modalità sviluppatore è disattivata.

Per iniziare, consulta la documentazione o dai un'occhiata all'esempio ufficiale.

Limiti più elevati di set di regole DNR statici

Abbiamo aumentato in modo significativo il limite per i set di regole statiche attivati da 10 a 50. Inoltre, abbiamo aumentato il numero totale di set di regole statiche consentiti da 50 a 100. Questa risposta è in risposta al feedback che abbiamo ricevuto dal gruppo della community delle estensioni web.

Nuova API ReadingList

Chrome ha introdotto l'elenco di lettura nel 2021. L'anno scorso, il team di Chrome ha reso ancora più semplice l'accesso all'elenco di lettura tramite il riquadro laterale. In Chrome 120 stiamo aggiungendo la possibilità per le estensioni di Chrome di creare, leggere, aggiornare ed eliminare le voci dell'elenco di lettura. Per saperne di più, controlla i documenti dell'API e il nostro nuovo esempio.

Elenco di lettura di Chrome che mostra le pagine dei documenti di estensione.
Il riquadro laterale dell'Elenco di lettura in Chrome.

Gestione dei file su ChromeOS

La gestione dei file consente alle estensioni di aprire i file con tipi MIME ed estensioni di file specificati in modo simile alla gestione dei file della piattaforma web. Per saperne di più su come utilizzarlo, consulta Gestione file su ChromeOS.

Screenshot del file aperto con la finestra di dialogo dell'estensione su ChromeOS
Apri i file in un'estensione su ChromeOS.

Attiva una sveglia tra 30 secondi

Si tratta di un piccolo aggiornamento, che però riguarda un'importante lacuna nel ciclo di vita dei service worker. Data la natura basata sugli eventi dei service worker, il modo consigliato per attivare un evento in futuro è utilizzare chrome.alarms. L'API Avvisi garantisce che l'evento venga attivato anche se nel frattempo il service worker si arresta.

C'è un problema però. Prima di Chrome 120, l'intervallo di tempo minimo per attivare un allarme era un minuto. Tuttavia, i service worker vengono arrestati dopo 30 secondi di inattività. Non esisteva quindi un modo semplice per programmare l'attivazione di un allarme in 45 secondi perché, se si utilizzava setTimeout() per impostare un evento di 45 secondi, il service worker potrebbe essere potenzialmente arrestato prima dell'attivazione dell'evento.

A partire da Chrome 120, ora puoi attivare un evento in:

await chrome.alarms.create('demo-default-alarm', {
   periodInMinutes: 0.45
 });

Riepilogo

Siamo davvero entusiasti dei progressi compiuti dalla piattaforma di estensione nell'ultimo anno. Chrome 120 è un altro passo importante per aumentare i limiti DNR e il supporto degli script degli utenti.