Chrome 120 è ora disponibile in versione beta e include molti aggiornamenti interessanti per gli sviluppatori di estensioni di Chrome.
È stato un anno impegnativo per il team delle estensioni di Chrome. Con la release beta di Chrome 120 di ieri, la piattaforma delle estensioni fa un altro grande passo avanti. Per una panoramica degli eventi di quest'anno, consulta i nostri aggiornamenti trimestrali di luglio e ottobre. Continua a leggere per scoprire le novità di Chrome 120 per le estensioni.
Colmare il divario delle piattaforme
Con il rilascio di Chrome 120, colmeremo 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 erano gli ultimi due elementi dell'elenco che ora possiamo eliminare. Insieme alle modifiche descritte nell'aggiornamento trimestrale precedente, siamo davvero soddisfatti dello stato attuale della piattaforma delle estensioni di Chrome e di ciò che abbiamo realizzato nell'ultimo anno.
Nuova API userScripts
È disponibile il supporto degli script utente. Gli script utente sono snippet di codice (di solito relativamente piccoli) che le estensioni possono iniettare nelle pagine web per modificarne l'aspetto o il comportamento. Possono essere creati direttamente dall'utente o trovati in una serie di diversi repository di script utente sul web. A partire da Chrome 120, le estensioni Manifest V3 ora possono gestire la raccolta degli script utente e determinare quando e come iniettarli 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 affidabilità dell'autore, il team di Chrome ha deciso che gli utenti devono attivare la modalità sviluppatore prima di poter eseguire uno script utente.
Il nostro nuovo esempio di script utente dimostra un approccio semplice per rilevare se la modalità Sviluppatore è attivata e fornisce un semplice flusso di onboarding.
Per iniziare, consulta la documentazione o dai un'occhiata all'esempio ufficiale.
Limiti più elevati per i set di regole DNR statici
Abbiamo aumentato in modo significativo il limite dei set di regole statiche abilitati da 10 a 50. Inoltre, abbiamo aumentato il numero totale di set di regole statiche consentiti da 50 a 100. Questa risposta fa seguito al feedback che abbiamo ricevuto nel 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 semplificato ulteriormente l'accesso all'elenco di lettura tramite il riquadro laterale. Con Chrome 120 stiamo aggiungendo la possibilità per le estensioni di Chrome di creare, leggere, aggiornare ed eliminare le voci della lista di lettura. Per saperne di più, consulta la documentazione dell'API e il nostro nuovo esempio.
Gestione dei file su ChromeOS
La gestione dei file consente alle estensioni di aprire file con tipi MIME ed estensioni di file specificati in modo simile alla gestione dei file della piattaforma web. Per scoprire di più su come utilizzarla, consulta Gestione dei file su ChromeOS.
Attivare una sveglia tra 30 secondi
Si tratta di un piccolo aggiornamento, ma risolve una lacuna importante nel ciclo di vita del worker di servizio. A causa della natura basata su eventi dei worker di servizio, il modo consigliato per attivare un evento in futuro è utilizzare chrome.alarms
. L'API Alarms garantisce che l'evento venga attivato anche se nel frattempo il service worker si arresta.
C'è però un problema. Prima di Chrome 120, l'intervallo di tempo più breve per attivare una sveglia era di un minuto. Tuttavia, i worker di servizio si arrestano dopo 30 secondi di inattività. Pertanto, non esisteva un modo semplice per pianificare l'attivazione di una sveglia tra 45 secondi, perché quando si utilizza setTimeout()
per impostare un evento tra 45 secondi, il servizio worker potrebbe essere spento prima dell'attivazione dell'evento.
A partire da Chrome 120, ora puoi attivare un evento in:
- meno di 30 secondi utilizzando
setTimeout()
. - Qualsiasi durata superiore o uguale a 30 secondi utilizzando
chrome.alarms
:
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 grande passo avanti con l'aumento dei limiti di riduzione del rumore digitale e il supporto degli script utente.