Visita spesso questa pagina per conoscere le modifiche alle estensioni di Chrome, la documentazione delle estensioni, i criteri correlati o altre modifiche. Troverai altre notifiche pubblicate nel gruppo Google Estensioni. La pianificazione di Chrome elenca le date di rilascio di versione stabile e beta.
Post del blog: Estensioni di Chrome alla conferenza Google I/O 2024
dietro a un altro Google I/O, in cui abbiamo parlato di tutti gli entusiasmanti aggiornamenti delle estensioni. Visita YouTube per guardare il video completo e leggere il post del nostro blog per alcuni dei momenti salienti.
Salta la revisione delle modifiche idonee alle richieste di richieste nette dichiarative
Il Chrome Web Store ora ti consente di saltare la revisione delle modifiche idonee quando utilizzi l'API Declarative Net Request. Scopri di più sull'idoneità e sull'attivazione nella documentazione del Chrome Web Store.
Estensioni di Chrome alla conferenza Google I/O 2024
La conferenza Google I/O è ora in corso. Guarda il video su YouTube: https://www.youtube.com/watch?v=hvxOW21na48.
DeploymentPercentage disponibile nell'API Chrome Web Store
Di recente abbiamo aggiornato la documentazione dell'API del Chrome Web Store per includere informazioni su deployPercentage
, che ti consentono di assegnare una percentuale di un'implementazione parziale. Scopri di più su deployPercentage
.
Chrome 126: prove dell'origine nelle estensioni
Chrome 126 introduce un nuovo campo manifest.json: trial_tokens
, che ti consente di attivare le prove dell'origine e le prove del ritiro su tutte le piattaforme delle estensioni. Leggi la guida per ulteriori informazioni.
Post del blog: Cosa succede nelle estensioni di Chrome, aprile 2024
Abbiamo pubblicato una nuova edizione di What's Happening in Chrome Extensions. Il post descrive gli aspetti a cui il team di estensione ha lavorato negli ultimi mesi. Sono inclusi: rollback della versione nel Chrome Web Store, migliore supporto di Firebase Auth e ulteriori lanci e aggiornamenti delle API.
Rollback della versione nella Dashboard per sviluppatori del Chrome Web Store
Esegui il rollback dell'estensione alla versione pubblicata precedente nel Chrome Web Store, senza ulteriore revisione. Per ulteriori informazioni, leggi il post del blog e la documentazione.
Chrome 124: API Advanced documentScan
Su ChromeOS è ora disponibile un'API documentScan
avanzata per rilevare e recuperare le immagini dagli scanner di documenti allegati.
Chrome 124: supporto di WebGPU nei Service worker
A partire da Chrome 124, i Service worker supportano WebGPU. Per iniziare rapidamente, dai un'occhiata all'esempio di estensione WebGPU.
Chrome 123: l'API Eventi supporta il filtro in base ai blocchi CIDR
L'API Eventi ora supporta il filtro
da blocchi CIDR (Classless Inter-Domain Routing). Un blocco CIDR è una raccolta di
indirizzi IP che condividono un prefisso di rete e lo stesso numero di bit. In precedenza, uno sviluppatore che doveva filtrare più indirizzi IP per configurare una regola di filtro per ciascuno degli indirizzi nell'intervallo di blocchi. Ora, quando un'estensione chiama addListener()
, una regola superata significa che il gestore di eventi verrà chiamato solo quando la parte host di un URL è un indirizzo IP ed è contenuta in uno dei blocchi CIDR specificati in un array.
Chrome Web Store: aggiornamenti ai requisiti di lunghezza del nome delle estensioni
Nel Chrome Web Store è ora presente un limite universale di 75 caratteri per il campo "name"
di un'estensione nel file manifest.json. In precedenza, il limite per l'inglese era di 45 caratteri e
non esistevano limitazioni al campo "name"
in altre lingue.
Originariamente era pensato per tenere conto di differenze culturali e linguistiche che potrebbero non essere intercettate nello stesso numero di caratteri. Sfortunatamente, questa funzionalità è stata utilizzata in modo illecito da un numero limitato di sviluppatori per inviare spam allo store. Di conseguenza, stiamo introducendo un nuovo limite universale, ovvero un aumento a 75 caratteri. Attualmente, questo limite copre quasi tutte le estensioni presenti sullo store, pertanto probabilmente non sarà necessario alcun intervento da parte tua a seguito di questa modifica. Se provi a caricare un'estensione che ha un nome più lungo del limite massimo, il caricamento verrà bloccato dallo store.
Post del blog: il percorso di Eyeo per testare la sospensione dei service worker
In questo post del team di Extension Engine di eyeo, analizzeremo il problema di testare i service worker di estensione. In Manifest V2 le estensioni erano vissute in una pagina in background che sono rimaste attive per tutto il ciclo di vita. Manifest V3 utilizza i service worker, e i Service worker, per definizione, risparmiano le risorse arrestandosi quando non sono necessarie. Ciò presenta alcune sfide di test. Questo post spiega in che modo Eyeo ha affrontato queste sfide.
Chrome 123: le sveglie vengono ora eseguite quando il dispositivo è in sospensione
Le sveglie impostate utilizzando l'API chrome.alarms
non vengono più ritardate quando un dispositivo entra in modalità di sospensione. Quando il dispositivo si riattiva, la sveglia si attiverà una volta, a prescindere da quante sveglie sono state perse. Ad esempio, supponiamo che
una sveglia sia impostata per suonare una volta all'ora e che il dispositivo su cui è attiva è in modalità di sospensione dalle
00:55 alle 02:05, quindi solo la sveglia delle 02:00 attiva l'evento onAlarm
.
Si accenderà alle 02:00 e non appena un dispositivo si attiva
se era in modalità di sospensione.
Questa modifica allinea Chrome al comportamento concordato nel gruppo della community delle estensioni web.
Post del blog: Modifiche al comportamento della cache back-forward con le porte dei messaggi dell'estensione
La cache back-forward (bfcache) è un'ottimizzazione del browser che consente la navigazione istantanea avanti e indietro. A partire da Chrome 123, quando una pagina con una porta di estensione aperta viene archiviata nella cache back-forward, il canale dei messaggi viene chiuso, vale a dire che non verrà inviato nessun messaggio a quella pagina.
Di conseguenza, gli script delle estensioni devono rimanere in ascolto degli eventi del ciclo di vita come onDisconnect
e configurare una nuova connessione quando la pagina viene ripristinata da BFCache.
Per ulteriori informazioni e codice di esempio, consulta Modifiche al comportamento di BFCache con porte dei messaggi delle estensioni.
Chrome 122: prometti il supporto delle API di estensione asincrone
Abbiamo completato l'implementazione del supporto di Promise per tutti i metodi dell'API di estensione asincrona. Ciò è stato fatto per modernizzare i metodi delle API migliorando l'ergonomia delle operazioni asincrone. Alcuni metodi (ad esempio desktopCapture.chooseDesktopMedia()
) continuano a supportare solo i callback perché le piattaforme attuali non sono compatibili con Promises. Per la compatibilità con le versioni precedenti, i callback sono ancora supportati. Se trovi una promessa che non va a buon fine, segnala un bug.
Nuove indicazioni per la comunicazione in tempo reale
Abbiamo appena pubblicato delle guide sulle opzioni in tempo reale nelle estensioni. Gli aggiornamenti in tempo reale offrono un percorso di comunicazione istantanea dai server direttamente alle installazioni delle estensioni. Inoltre, abbiamo nuove indicazioni per l'utilizzo di chrome.gcm e Web Push.
Nuove indicazioni e nuovi esempi: test della terminazione del service worker
Abbiamo appena pubblicato una guida su come testare la terminazione dei service worker con Puppeteer. L'esempio associato lo dimostra in Puppeteer e Selenium.
Esempio aggiornato per la messaggistica nativa
Abbiamo appena pubblicato un esempio aggiornato per i messaggi nativi. Questa API consente all'estensione di avviarsi e di comunicare con un'altra applicazione. Grazie al collaboratore GitHub Shubham-Rasal per il lavoro svolto.
Chrome 121: nuova proprietà lastAccessed nelle schede.
Una nuova proprietà denominata lastAccessed
è stata aggiunta all'oggetto tabs.Tab
. Questa proprietà indica quando è stata attivata l'ultima volta la scheda. Il valore restituito è in millisecondi dall'epoca.
Chrome 121: ora le chiavi "in background" non supportate generano un avviso
Nella modifica da Manifest V2 a Manifest V3, i elementi secondari della chiave manifest "background"
sono stati modificati per sostituire gli script in background con i service worker dell'estensione. In precedenza, l'aggiunta delle chiavi Manifest V2 "scripts"
, "page"
o "persistent"
alla chiave "background"
di un'estensione Manifest V3 generava un errore. La presenza di queste chiavi attiva ora un avviso.
Questo viene fatto per attivare l'utilizzo di un singolo file manifest nelle estensioni di più browser, per una proposta nel gruppo della community.
Chrome 120: granularità minima della sveglia ridotta a 30 secondi
A partire da Chrome 120, le estensioni Manifest V3 possono utilizzare l'API chrome.alarms
con ritardi o periodi di 30 secondi, anziché richiedere valori di almeno 60 secondi.
Post del blog: ripresa della transizione a Manifest V3
Le tempistiche del supporto di Manifest V2 sono state aggiornate. Per informazioni dettagliate, consulta il post del blog di novembre 2023.
Post del blog: Miglioramenti al supporto del filtro dei contenuti in Manifest V3
Scopri come abbiamo migliorato l'API declarativeNetRequest nel nostro nuovo post del blog.
Post del blog: Novità di Chrome 120 per le estensioni
Chrome 120 Beta è stato rilasciato di recente. Per un riepilogo degli aggiornamenti importanti che interessano gli sviluppatori di estensioni, leggi il nostro nuovo post del blog: Novità di Chrome 120 per le estensioni. Questa release segna anche un traguardo importante, in quanto rimuove gli ultimi due elementi (userScript, gestore di file su ChromeOS) dall'elenco delle criticità della piattaforma.
PSA: modifica alla gestione degli URL delle norme sulla privacy nella Dashboard per sviluppatori
Le norme sulla privacy nella Dashboard per sviluppatori ora vengono aggiunte a livello di articolo. In questo modo puoi fornire norme sulla privacy diverse per ciascun articolo. Scopri di più su questa modifica nel nostro PSA.
Video: Una chat con Matt Frisbie
Abbiamo appena pubblicato un nuovo video sul canale YouTube di Chrome for Developers in chat con l'esperto sviluppatore Google e l'autore Matt Frisbie. Guardalo qui.
Nuove indicazioni sul test delle estensioni
Abbiamo appena pubblicato nuove indicazioni su come scrivere test automatici per le estensioni, incluse come scrivere test delle unità, indicazioni generali e un tutorial sui test end-to-end.
Post del blog: Cosa succede nelle estensioni di Chrome - Ottobre 2023
Abbiamo appena pubblicato la seconda edizione di What’s Happening in Chrome Extensions. Il post descrive gli aspetti a cui il team di estensione ha lavorato negli ultimi mesi, tra cui la risoluzione dei problemi di stabilità dei service worker e i buoni progressi per colmare tutte le lacune della piattaforma MV3. Condividiamo anche le prossime versioni interessanti dell'API, come l'API Reading List e l'API User Scripts.
Aumento dei limiti del set di regole statici nell'API Declarative Net Request
A seguito dei feedback nel gruppo della community delle estensioni web, stiamo aumentando significativamente il limite dei set di regole statiche attivate da 10 a 50. Inoltre, aumenteremo il numero totale di set di regole statiche consentiti da 50 a 100. Questa funzionalità è attualmente disponibile in Canary.
Indicazioni migliorate per il codice ospitato in remoto
Un requisito di Manifest V3 è che le estensioni non possano più utilizzare codice ospitato in remoto. Sebbene questo documento sia stato parte della nostra guida alla migrazione fin dall'inizio, abbiamo pensato che valesse la pena migliorare le indicazioni relative a questo problema. Questa pagina ora fornisce ulteriori informazioni, che descrivono ciò che è ancora possibile fare in Manifest V3 e fornisce maggiori informazioni sulle strategie di upgrade.
È disponibile un'aggiunta correlata all'articolo Risoluzione dei problemi relativi alle violazioni del Chrome Web Store. In una nuova sezione vengono descritti i motivi più comuni per cui le estensioni con codice ospitato in remoto vengono rifiutate.
Chrome 118: isUrlFilterCaseSensitive ora è impostato su false
A partire dalla versione 118 di Chrome, la proprietà isUrlFilterCaseSensitive
nell'API chrome.declarativeNetRequest è stata modificata in false
. Se vuoi mantenere il comportamento precedente, puoi impostare esplicitamente isUrlFilterCaseSensitive
su true
nelle
regole declarativeNetRequest.
Questa parte segue le argomentazioni del gruppo della community delle estensioni web. Firefox e Safari hanno già implementato una modifica simile.
Documentazione su cookie e API di archiviazione web
Abbiamo pubblicato una nuova guida su come funzionano i cookie e le API di archiviazione web nelle estensioni di Chrome. Include dettagli sulle modifiche al partizionamento dei cookie e dello spazio di archiviazione in Privacy Sandbox, un progetto in corso per ritirare i cookie di terze parti attraverso la creazione di una serie di nuove API per piattaforme web, nonché dettagli sul loro funzionamento nelle estensioni.
Esempi di estensioni ora disponibili per la ricerca
Di recente abbiamo creato una pagina che ti consente di cercare esempi di estensioni di Chrome. La pagina di ricerca offre più opzioni. Una casella di ricerca ti consente di cercare del testo nei titoli di esempio. Puoi limitare la ricerca in base all'autorizzazione o all'API dell'estensione. Un filtro aggiuntivo ti consente di limitare la ricerca a esempi di API o funzionali (caso d'uso).
Questa nuova pagina di esempio è stata creata da un partecipante a Google Summer of Code, Xuezhou Dai, che ha anche contribuito con diversi nuovi campioni. Puoi leggere le loro esperienze quest'estate nel post sul nostro blog.
Come in precedenza, i nostri esempi di codice sono ancora disponibili su GitHub per la clonazione o il forking.
Chrome 118: modifiche al file di apertura: URL dello schema
A partire dalla versione 118 di Chrome, per aprire gli URL con schema file:// usando le API Schede o Windows è necessario attivare l'impostazione "Consenti l'accesso agli URL dei file" dalla pagina chrome://extensions
. Puoi controllare in modo programmatico questo accesso chiamando il numero chrome.extension.isAllowedFileSchemeAccess()
. Firefox già limita gli URL dei file e Safari supporta la modifica. Per ulteriori informazioni, leggi il post nel gruppo di estensioni di Google Gruppi.
Chrome 117: protezioni degli URL estese nelle navigazioni delle API delle estensioni
In precedenza, la navigazione attivata dalle chiamate API delle estensioni per tabs.update()
, tabs.create()
e windows.create()
comportava un errore per alcuni URL chrome://. Inoltre, non era consentito chiamare tabs.update()
con un URL JavaScript. Nella versione 117, queste protezioni per gli URL JavaScript sono state estese al metodo tabs.create()
e una serie di URL chrome:// aggiuntivi è stata aggiunta all'elenco degli URL vietati che si applica a tutti i metodi menzionati in precedenza.
Indicazioni migliorate per l'API declarativeNetRequest
L'API chrome.declarativeNetRequest
blocca o modifica le richieste di rete specificando regole dichiarative. In questo modo le estensioni possono modificare le richieste di rete senza intercettarle e visualizzare i relativi contenuti, garantendo così maggiore privacy agli utenti. Inoltre, è difficile da usare. Tenendo conto di questo, abbiamo riscritto le indicazioni in modo che riteniamo di fornire un quadro più chiaro su come implementare le serie di regole dichiarative. Leggi la nuova sezione al link qui sopra.
Utilizzo dell'account Google Analytics con il Chrome Web Store
Il Chrome Web Store offre l'integrazione con Google Analytics, che ti consente di visualizzare dati e analisi relativi alla tua scheda del Chrome Web Store oltre alla visualizzazione offerta nella Dashboard per sviluppatori. Per ulteriori informazioni, consulta Utilizzo dell'account Google Analytics con il Chrome Web Store.
Chrome 115: passaggi di DevTools relativi agli script di contenuti per impostazione predefinita
Gli script di contenuti inseriti sono ora nell'elenco degli elementi da ignorare di DevTools per impostazione predefinita. Questo non influisce sui punti di interruzione, ma significa che gli script di contenuti verranno ignorati durante il debug e le eccezioni di questi script verranno ignorate. Quando uno script di contenuti è aperto nella scheda Origini, un banner ti avvisa se questa funzionalità è attiva e offre la possibilità di rimuovere lo script di contenuti dall'elenco di elementi da ignorare. Per disattivare questo comportamento, apri DevTools, vai a Impostazioni e poi a Elenco di ignorare. Per saperne di più, consulta Novità di DevTools.
Chrome 116 beta: più di quanto possiamo inserire qui
Chrome 116 è una versione importante delle estensioni. Ora puoi aprire i riquadri laterali in modo programmatico. Un nuovo metodo consente di sapere se è presente un documento fuori schermo attivo. I Service worker hanno ottenuto miglioramenti significativi. Nella versione 116 ci sono abbastanza miglioramenti per cui abbiamo scritto un post del blog per affrontarli. Chrome 116 è in versione beta dal 19 luglio.
Post del blog: Che cosa succede nelle estensioni di Chrome
Abbiamo appena pubblicato una panoramica delle modifiche e dei miglioramenti apportati alle estensioni di quest'anno. Il post illustra le nuove importanti funzionalità dell'anno, tra cui l'API Side Panel, i miglioramenti dei service worker e i documenti fuori schermo. Inoltre, potrai dare un'occhiata alle novità a cui stiamo lavorando in questo trimestre. L'articolo elenca molto di più, con link a tutti.
Nuove indicazioni e nuovi esempi: scopri come utilizzare Google Analytics 4 nell'estensione di Chrome
Abbiamo pubblicato nuovi esempi e linee guida per Google Analytics e la geolocalizzazione:
- Una versione aggiornata delle indicazioni relative a Google Analytics che spiega come utilizzare Google Analytics 4 nell'estensione di Chrome. Abbiamo anche aggiunto un esempio di Google Analytics 4 funzionante al nostro repository di esempio GitHub. Consulta
google-analytics.js
per il codice pertinente relativo a Google Analytics. - Una nuova guida alla geolocalizzazione e tre esempi che mostrano come accedere alla geolocalizzazione nei service worker, nei script dei contenuti, nei popup e nei riquadri laterali.
Chrome 115: specifica diversi motivi in chrome.offscreen.createDocument()
Ora puoi specificare più enumerazioni di reason
durante la chiamata al numero chrome.offscreen.createDocument()
. Utilizza questa opzione quando un documento fuori schermo verrà utilizzato per più scopi diversi. Il browser utilizza i motivi indicati per determinare la durata del documento fuori schermo.
Nuovo strumento: strumento di test dell'aggiornamento delle estensioni
Abbiamo appena rilasciato lo strumento di test dell'aggiornamento delle estensioni, un server di aggiornamento delle estensioni locali che può essere utilizzato per testare gli aggiornamenti delle estensioni di Chrome durante lo sviluppo locale, incluse le concessioni di autorizzazioni. Lo strumento mostra il flusso di aggiornamento dell'utente, incluso il mantenimento di un'estensione disabilitata fino a quando l'utente non concede nuove autorizzazioni richieste. Questo strumento è particolarmente utile per simulare le modifiche delle autorizzazioni richieste durante l'aggiornamento di un'estensione da Manifest V2 a Manifest V3.
Chrome 114: nuova API Side Panel
Presentazione della nuova API Side Panel, una piattaforma complementare che consente agli utenti di accedere agli strumenti accanto ai contenuti che stanno sfogliando. Per scoprire di più, consulta la documentazione sull'API Side Panel. Inoltre, abbiamo aggiunto molti esempi di riquadro laterale al nostro repository di esempio GitHub. Puoi trovare altre informazioni sui riquadri laterali anche nel nuovo post del blog Designing a Superior User Experience with the New Side Panel API. Abbiamo esaminato anche le nostre norme sulla qualità e le nostre best practice per fornire ulteriori indicazioni sulla creazione di estensioni nel riquadro laterale di alta qualità.
Il tuo feedback è importante per la creazione di questa API; condividi le tue opinioni e le tue richieste di funzionalità in chromium-groups. Continua a seguirci per non perderti i nuovi aggiornamenti mentre continuiamo a migliorare l'API Side Panel.
Nuovi esempi: WASM nelle estensioni
Sono disponibili due nuovi esempi che mostrano come utilizzare WASM in un'estensione:
- L'utilizzo di WASM in Manifest V3 mostra il metodo generale per includere un modulo WASM.
- L'uso di WASM come modulo in Manifest V3 mostra come utilizzarlo in un modulo.
Un ringraziamento speciale al collaboratore GitHub @daidr per questi esempi.
Sono state aggiornate le indicazioni per la migrazione a Manifest V3
Abbiamo aggiornato la sezione Problemi noti delle nostre linee guida sulla migrazione di Manifest V3 con un elenco aggiornato delle lacune nella piattaforma delle estensioni che intendiamo chiudere prima di annunciare una nuova tempistica di ritiro di Manifest V2.
Registrazione di audio e video con Manifest V3
Abbiamo appena pubblicato un nuovo articolo chiamato Registrazione audio e acquisizione schermo che riguarda la registrazione di audio o video da una scheda, una finestra o uno schermo in Manifest V3. Questo articolo descrive diversi approcci alla registrazione che coinvolgono l'API chrome.tabCapture
e la funzione getDisplayMedia()
.
Chrome 114: aumento della quota di storage.local
Abbiamo aumentato la quota per la proprietà storage.local
a circa 10 MB. Questo concordo nel gruppo della community delle estensioni web. In questo modo storage.local
è in linea con storage.session
che è stato modificato in Chrome 112.
Tutorial e guida del nuovo service worker delle estensioni
I service worker sono parte integrante delle estensioni di Chrome. Abbiamo appena pubblicato un tutorial che spiega le nozioni di base della registrazione, del debug e dell'interazione con i service worker. Abbiamo anche aggiunto una nuova guida per i service worker, in cui vengono spiegati i concetti importanti in maggiore dettaglio. Estenderemo questa sezione nei prossimi mesi.
Altri suggerimenti per la risoluzione dei problemi in caso di violazioni del Web Store
Per facilitare la pubblicazione sul Chrome Web Store, abbiamo aggiunto nuove indicazioni in due aree. Le indicazioni per le funzionalità minime riguardano l'offerta di vantaggi agli utenti e l'arricchimento della loro esperienza di navigazione. Le indicazioni per gli annunci affiliati riguardano il fatto di informare gli utenti delle estensioni che utilizzano i link o i codici di affiliazione per la monetizzazione e di fornire loro un certo livello di controllo richiedendo un'azione da parte dell'utente prima dell'inclusione.
Nuove istruzioni per il convertitore manifest delle estensioni
Abbiamo riscritto il file README per il Convertitore manifest delle estensioni per aiutarti a capire più facilmente che cosa devi fare dopo aver eseguito lo strumento. Il convertitore aiuta a eseguire la migrazione delle estensioni basate su Manifest V2 in Manifest V3. Il nuovo file README descrive cosa fa lo strumento usando parole che corrispondono esattamente a quelle riportate nell'elenco di controllo della guida alla migrazione. Il convertitore non esegue tutte le operazioni, ma elimina molte attività che non richiedono un giudizio umano.
Chrome 113: nuovi motivi per i documenti fuori schermo
Abbiamo aggiunto due nuovi tipi di motivo all'API Offscreen Documents. Usa LOCAL_STORAGE
per accedere all'API localStorage della piattaforma web. Utilizza WORKER
durante la creazione dei web worker.
Google Analytics 4 ora nella Dashboard per sviluppatori
La Dashboard per sviluppatori del Chrome Web Store ora supporta Google Analytics 4 (GA4). Abbiamo semplificato la configurazione di Google Analytics e reso più semplice la gestione degli accessi per i publisher del gruppo. Se in precedenza hai utilizzato Google Universal Analytics per monitorare l'attività della scheda dello Store, dovrai intervenire entro il 1° luglio 2023 per assicurarti di continuare a ricevere dati relativi alla tua scheda dello Store. Per ulteriori informazioni, leggi il post sul gruppo Google delle estensioni di Chromium.
L'API File handling è ora disponibile su ChromeOS
L'API File Handler è disponibile per la sperimentazione su ChromeOS nella versione canary per le versioni 112 e 113. Consente alle estensioni su ChromeOS di aprire file con estensioni e tipi MIME specificati. Per implementare la gestione dei file, aggiungi un insieme di regole a manifest.json
. Questa funzionalità è uguale a quella delle app web progressive. Per ulteriori informazioni, consulta l'articolo in altre sezioni del sito.
Per attivare la gestione dei file:
- A partire dalla versione 112, avvia Chrome utilizzando il flag
--enable-features=ExtensionWebFileHandlers
, a partire dalla versione 112 - A partire dalla versione 113, incolla
os://flags/#extension-web-file-handlers
nella omnibox di Chrome e seleziona "Attivata" dal menu a discesa.
Ci auguriamo di lanciare questa funzionalità in Chrome 115 a fine giugno. Tieni d'occhio questa pagina per eventuali aggiornamenti.
Nuovi esempi: dichiarazioni dinamiche e inserimento programmatico
Abbiamo creato un nuovo esempio per l'API chrome.scripting
. Questo documento dimostra le dichiarazioni dinamiche, in cui uno script di contenuti viene registrato durante il runtime, e l'inserimento programmatico, in cui uno script viene eseguito in una scheda già aperta.
Nuovi campioni: casi d'uso di richieste nette dichiarative
Sono disponibili tre nuovi campioni che dimostrano l'API Declarative Net Request. Ognuna mostra l'implementazione di un singolo caso d'uso. Il primo illustra come bloccare i cookie. Le altre due mostrano URL di blocco e reindirizzamento.
Chrome 112: aumento della quota di storage.session
A partire da Chrome 112, la quota per la proprietà storage.session
è stata aumentata a circa 10 MB. Questo è stato concordato nel gruppo della community di estensioni web: https://github.com/w3c/webextensions/issues/350
Chrome 109: documenti fuori schermo
I documenti fuori schermo sono ora disponibili nelle estensioni Manifest V3. Aiutano la transizione dalle pagine in background ai service worker delle estensioni, fornendo assistenza per le API e le funzionalità relative al DOM. Per ulteriori informazioni, leggi il post del blog.
Chrome 110: è attiva un'estensione
Il metodo chrome.action.isEnabled()
verifica in modo programmatico se un'estensione è stata attivata per una scheda specifica. In questo modo, puoi evitare di mantenere lo stato attivo delle schede. Questo nuovo metodo prende un ID scheda e un riferimento a un callback e restituisce un valore booleano. Ha una limitazione: le schede create utilizzando chrome.declarativeContent
restituiscono sempre false.
(Di recente, lo spazio dei nomi chrome.action
ha nuovi metodi per controllare l'aspetto dei badge delle estensioni. Per ulteriori informazioni, vedi Impostazione dei colori dei badge.
Chrome 110: modifica del timeout di inattività del service worker
In precedenza, un service worker delle estensioni veniva arrestato spesso all'indicatore dei cinque minuti. Abbiamo cambiato questo comportamento per renderlo più simile al lifetime dei service worker sul web. Un service worker dell'estensione viene arrestato dopo 30 secondi di inattività o se l'elaborazione di una singola attività richiede più di 5 minuti. Per ulteriori informazioni, consulta Durata del service worker delle estensioni più lunga.
Post: Messa in pausa della disattivazione graduale di Manifest V2
Le tempistiche di ritiro di Manifest V2 sono in corso di revisione e gli esperimenti programmati per l'inizio del 2023 verranno posticipati. Per ulteriori informazioni, leggi l'aggiornamento nel gruppo Google chromium-extensions.
Chrome 110: impostare i colori dei badge
Lo spazio dei nomi chrome.action
offre due nuovi metodi per offrirti un maggiore controllo sui badge delle estensioni dell'aspetto. I metodi setBadgeTextColor()
e getBadgeTextColor()
consentono a un'estensione di modificare ed eseguire query sul colore del testo del badge dell'icona della barra degli strumenti. Se utilizzati con setBadgeBackgroundColor
e getBadgeBackgroundColor
, questi nuovi metodi consentono di applicare il design e la coerenza del brand.
Post del blog: ulteriori dettagli sulla transizione a Manifest V3
Abbiamo chiarito le tempistiche di ritiro di Manifest V2. Anche le tempistiche del supporto di Manifest V2 sono state aggiornate per riflettere queste informazioni.
Aggiornamento di Documenti: problemi noti relativi alla migrazione a Manifest V3
Abbiamo creato un elenco di principali funzionalità attualmente in fase di sviluppo e bug aperti. L'obiettivo di questa pagina è aiutare gli sviluppatori a comprendere meglio lo stato attuale della piattaforma e le funzionalità che possono scegliere come target per prepararsi al futuro.
Chrome Web Store: caricamento immagine "riquadro promozionale grande" rimosso
Il Chrome Web Store ha rimosso l'interfaccia utente di caricamento "riquadro promozionale grande" dalla scheda Scheda dello Store dell'articolo nella dashboard per sviluppatori. Questa modifica non influisce sull'esperienza utente finale perché queste immagini non erano utilizzate nella UI consumer. Leggi questo post sulle estensioni di Chromium per maggiori dettagli.
Chrome 106: consentire alle pagine sugli URL file:// di accedere alle risorse accessibili sul web
Anche le origini opache come gli iframe con sandbox e l'importazione dinamica dovrebbero essere in grado di accedere alle risorse accessibili dal web, secondo crbug.com/1219825#c11.
Chrome 106: corretto un bug che consentiva argomenti finali errati su alcune funzioni API asincrone
In precedenza, la chiamata di Manifest V3 alle API asincrone poteva fornire un argomento finale non valido e Chrome non generava errori. Con questa correzione, Chrome segnala un errore e segnala che non è stata trovata una firma corrispondente. Gli sviluppatori sono invitati a verificare la presenza di eventuali errori nelle loro estensioni su Canary qualora utilizzino accidentalmente una firma errata per una chiamata API che verrà interrotta da questa correzione di bug.
Post del blog: rinnovamento delle analisi del Chrome Web Store
Il Chrome Web Store offre un'esperienza di analisi degli elementi rinnovata per la Dashboard per sviluppatori del Chrome Web Store. La nuova dashboard è più facile da capire a colpo d'occhio e raggruppa in primo piano le informazioni più utili. Per ulteriori informazioni, leggi il post del blog.
Chrome 105: promesse per l'API Identity
Le funzioni nell'API Identity ora supportano le chiamate basate su promesse. Ciò comporta una leggera modifica alla visualizzazione di identity.getAuthToken()
, in cui il ritorno asincrono impostato su una chiamata basata su promesse avrà "token" e "grantedScopes" come parametri su un singolo oggetto (a differenza della versione di callback che li riceve come argomenti separati per il callback).
Chrome 104: nuova API favicon per Manifest V3
Ora le estensioni Manifest V3 possono accedere alle favicon utilizzando un nuovo pattern URL: chrome-extension://<id>/_favicon/
, dove chrome://favicons
della piattaforma Manifest V2. Per ulteriori informazioni, consulta la documentazione relativa all'API Favicon.
Aggiornamento dei documenti: informativa sul commerciante/non commerciante
È stata aggiunta l'identificazione sviluppatore commerciante/non commerciante che indica agli sviluppatori di presentare un'autodichiarazione accurata dello stato di commerciante/non commerciante.
Chrome 103: Wasm in Manifest V3 richiede wasm-unsafe-eval
Chrome non concede più le estensioni script-src: wasm-unsafe-eval
per impostazione predefinita. Le estensioni che utilizzano WebAssembly ora devono aggiungere esplicitamente questa istruzione e questo valore a extension_pages
nelle loro dichiarazioni content_security_policy
.
Chrome 103: la modifica delle scorciatoie di MV3 ha effetto immediato
Quando modifichi la scorciatoia da tastiera di un'estensione Manifest V3 su chrome://extensions/shortcuts
, gli aggiornamenti vengono ora applicati immediatamente. In precedenza, l'estensione doveva essere ricaricata prima che la modifica diventasse effettiva.
Chrome 102: script di contenuti dinamici nel mondo principale
Gli script di contenuti registrati dinamicamente possono ora specificare il mondo in cui verranno inserite le risorse. Per informazioni dettagliate, visita la pagina scripting.registerContentScripts()
.
Chrome 102: nuovo campo manifest "optional_host_permissions"
Ora le estensioni Manifest V3 possono specificare la chiave optional_host_permissions
in manifest.json. Ciò consente alle estensioni Manifest V3 di dichiarare pattern di corrispondenza facoltativi per gli host proprio come le estensioni Manifest V2 potrebbero utilizzare la chiave optional_permissions
.
Chrome 102: proprietà injectdirettamente in scripting.executeScript()
chrome.scripting.executeScript()
ora accetta una proprietà injectImmediately
facoltativa sul suo
argomento injection
. Se presente e impostato su true, lo script verrà inserito nella destinazione il prima possibile, anziché attendere document_idle
. Tieni presente che questa non è una garanzia che lo script verrà inserito prima del caricamento della pagina, poiché quest'ultima continua a caricarsi mentre è in corso la chiamata API.
Chrome 102: supporto dell'API omnibox in Manifest V3
Ora è possibile utilizzare l'API omnibox nelle estensioni basate su service worker. In precedenza, alcuni metodi di questa API generavano una chiamata a causa di dipendenze interne sulle funzionalità DOM.
Chrome 102: wasm-unsafe-eval consentito in Manifest V3 CSP
Ora le estensioni Manifest V3 possono includere wasm-unsafe-eval
nelle dichiarazioni content_security_policy
. Questa modifica consente alle estensioni Manifest V3 di utilizzare WebAssembly.
Chrome 102: nuova API storage.session
Le estensioni Manifest V3 ora possono essere utilizzate nello spazio di archiviazione della memoria storage.session .
Aggiornamento di Documenti: rilevamento degli elementi del Chrome Web Store
Il rilevamento sul Chrome Web Store offre una panoramica del modo in cui gli utenti trovano gli elementi sul Chrome Web Store e del modo in cui i nostri editor selezionano gli elementi da mostrare.
Chrome 101: condizioni di dominio dichiarativeNetRequest migliorate
Le condizioni delle regole declarativeNetRequest sono state aggiornate per consentire alle estensioni di indirizzare meglio le richieste in base ai domini "request" e "iniziatore" della richiesta. Le proprietà della condizione pertinenti sono initiatorDomains
,
excludedInitiatorDomains
, requestDomains
e excludedRequestDomains
. Vedi anche questo
thread chromium-extensions.
Chrome 100: risolto il problema con scripting.executeScript() sulle schede appena create
Risolto un problema di lunga data per cui la chiamata a scripting.executeScript()
in una scheda o
finestra appena creata poteva non riuscire.
Chrome 100: la porta di messaggistica nativa mantiene attivo il service worker
La connessione a un host di messaggistica nativo utilizzando chrome.runtime.connectNative()
nel service worker di un'estensione dovrebbe mantenere attivo il service worker finché la porta è aperta.
Chrome 100: omnibox.setDefaultSuggestion() supporta promesse e callback
Il metodo omnibox.setDefaultSuggestion()
ora restituisce una promessa o accetta un callback per consentire agli sviluppatori di determinare quando il suggerimento è stato impostato correttamente.
Chrome 100: supporto di i18n.getMessage() nei service worker delle estensioni
L'API chrome.i18n.getMessage()
è ora supportata
nei contesti dei service worker di estensione.
Chrome 99: match_origin_as_fallback in Canary
Ora gli script di contenuti possono specificare la chiave match_origin_as_fallback
da inserire nei frame correlati a un frame corrispondente, inclusi i frame con URL about:
, data:
, blob:
e filesystem:
. Per informazioni dettagliate, consulta la documentazione sugli script di contenuti.
Chrome 99: supporto del service worker dell'estensione per il file: schemi in Canary
Le estensioni Manifest V2 e Manifest V3 basate sui service worker possono ora utilizzare l'API Fetch per richiedere URL dello schema file:
. Per accedere agli URL dello schema file:
, è comunque necessario che l'utente attivi l'opzione "Consenti l'accesso agli URL dei file" per l'estensione nella pagina chrome://extensions
.
Chrome 99: promessa di supporto per le API di messaggistica in Canary
Il supporto di Promise è stato aggiunto a
tabs.sendMessage
,
runtime.sendMessage
e
runtime.sendNativeMessage
per
le estensioni create per Manifest V3.
Aggiornamento dei documenti: documentazione di esame del Chrome Web Store
È stata aggiunta una nuova pagina di riferimento che fornisce una panoramica del processo di revisione del Chrome Web Store e spiega come viene gestita l'applicazione delle norme del programma per gli sviluppatori.
Chrome 98: scripting.executeScript() e scripting.insertCSS() accettano più file
I metodi executeScript()
e insertCSS()
dell'API Scripting ora accettano più file. In precedenza, questi metodi richiedevano un array con una singola voce di file.
Aggiornamento dei documenti: revisione degli aggiornamenti per la risoluzione dei problemi relativi alle violazioni
La pagina Risoluzione dei problemi relativi alle violazioni del Chrome Web Store è stata aggiornata per fornire agli sviluppatori indicazioni più dettagliate sui motivi più comuni di rifiuto.
Chrome 96: promessa estesa di supporto ad altre 27 API
Questa release contiene molti più aggiornamenti promettenti rispetto a qualsiasi release precedente. Gli aggiornamenti includono API di estensioni generali e specifiche per ChromeOS. Espandi le sezioni seguenti per i dettagli.
API delle estensioni
Alcune API ora supportano le promesse in Manifest V3,
chrome.browsingData
chrome.commands
chrome.contentSettings
chrome.debugger
chrome.downloads
chrome.enterprise.hardwarePlatform
chrome.fontSettings
chrome.history
chrome.instanceID
chrome.permissions
chrome.processes
chrome.search
chrome.sessions
chrome.topSites
Inoltre, le API che usano il prototipo ChromeSetting
ora supportano anche le promesse. Le API interessate da questa modifica sono le seguenti.
API di ChromeOS
chrome.certificateProvider
chrome.documentScan
chrome.enterprise.deviceAttributes
chrome.enterprise.networkingAttributes
chrome.fileBrowserHandler
chrome.fileSystemProvider
chrome.loginState
chrome.printingMetrics
chrome.wallpaper
Chrome 96: script di contenuti dinamici
L'API chrome.scripting
ora supporta la registrazione, l'aggiornamento, l'annullamento della registrazione e la ricezione di un elenco di script di contenuti in fase di runtime. In precedenza, gli script di contenuti potevano essere dichiarati solo in modo statico nel file manifest.json di un'estensione o inseriti in modo programmatico in fase di runtime con chrome.scripting.executeScript()
.
Aggiornamento di Documenti: tempistiche del supporto di Manifest V2
Le tempistiche della transizione da Manifest V2 a V3 sono state annunciate in questo post del blog ed è stata pubblicata una pagina della cronologia più dettagliata.
Chrome 96: autorizzazione declarativeNetRequestWithHostAccess
La nuova autorizzazione declarativeNetRequestWithHostAccess
consente alle estensioni di usare l'API chrome.declarativeNetRequest
sui siti per i quali l'estensione dispone delle autorizzazioni per l'host. Consente inoltre alle estensioni Manifest V2 esistenti che utilizzano
webRequest
, webRequestBlocking
e l'autorizzazione dell'host specifico del sito di eseguire la migrazione all'API
chrome.declarativeNetRequest
senza
richiedere all'utente di approvare nuove autorizzazioni.
Chrome 95: inserimento degli script direttamente nelle pagine
Il metodo executeScript()
dell'API chrome.scripting
ora può inserire script direttamente nel mondo principale di una pagina. In precedenza, le estensioni potevano
solo essere inserite direttamente nel mondo isolato. Per ulteriori informazioni sui mondi isolati, consulta la documentazione sugli script di contenuti.
Chrome 95: promessa di supporto per l'API Storage
I metodi nella versione Manifest V3 dell'API chrome.storage
ora restituiscono promesse.
Aggiornamento delle norme: applicazione forzata della verifica in due passaggi
Il post del blog sull'aggiornamento delle norme pubblicato il 29 giugno 2021 è stato aggiornato per correggere le tempistiche di deployment della verifica in due passaggi.
Chrome 94: modifiche al set di regole statiche richieste di rete dichiarative
Il campo chrome.declarativeNetRequest
ora supporta la specifica di un massimo di 50 set di regole statiche (MAX_NUMBER_OF_STATIC_RULESETS) e l'abilitazione di un massimo di 10 set di regole (MAX_NUMBER_OF_ENABLED_STATIC_RULESETS alla volta.
Chrome 93: supporto dell'isolamento multiorigine
Sia le estensioni Manifest V2 che Manifest V3 ora possono attivare l'isolamento multiorigine. Questa funzionalità limita le risorse multiorigine che possono caricare le pagine di un'estensione e consente l'utilizzo di funzionalità di piattaforme web di basso livello come SharedArrayBuffer
. L'attivazione sarà necessaria a partire da Chrome 95.
Aggiornamento delle norme: norme del programma per gli sviluppatori aggiornate
Le Norme del programma per gli sviluppatori del Chrome Web Store sono state aggiornate con chiarimenti sulle tattiche di installazione ingannevoli, sullo spam e sulle norme relative ai contenuti ripetitivi. Questo aggiornamento include anche un nuovo requisito della verifica in due passaggi per la pubblicazione sul Chrome Web Store. Per ulteriori informazioni, leggi il post del blog.
Post del blog: azioni delle estensioni in Manifest V3
Le estensioni di Chrome avevano API chrome.browserAction
e chrome.pageActions
per anni, ma Manifest V3 ha sostituito entrambe con un'API chrome.actions
generica. Questo post esplora la storia di queste API e cosa è cambiato in Manifest V3. Leggi il post.
Post del blog: presentazione di chrome.scripting
L'API chrome.scripting
è una nuova API Manifest V3 incentrata
sullo scripting. In questo post analizzeremo le motivazioni di questo cambiamento e analizzeremo più da vicino le
nuove funzionalità disponibili. Leggi il post.
Chrome 92: supporto dei service worker di modulo
Chrome ora supporta i moduli JavaScript nei service worker. Per specificare un modulo un modulo nel file manifest:
"background": {
"service_worker": "script.js",
"type": "module"
}
Lo script worker viene caricato come modulo ES, consentendoti di utilizzare la parola chiave import
nello script del worker per importare altri moduli.
Chrome 91: chrome.action.getUserSettings()
Il nuovo metodo chrome.action.getUserSettings()
consente alle estensioni di determinare se l'utente ha bloccato l'estensione sulla barra degli strumenti principale.
Chrome 90: chrome.scripting.removeCSS()
Il nuovo metodo chrome.scripting.removeCSS()
consente alle estensioni di rimuovere il codice CSS precedentemente inserito tramite chrome.scripting.insertCSS()
. Sostituisci chrome.tabs.removeCSS()
.
Chrome 90: restituzione di promesse da scripting.executeScript()
Ora chrome.scripting.executeScript()
supporta la restituzione delle promesse. Se il valore risultante dall'esecuzione dello script è una promessa, Chrome attenderà che la promessa si stabilisca e restituisca il valore risultante.
Chrome 90: i risultati di chrome.scripting.executeScript() includono frameId
I risultati restituiti da chrome.scripting.executeScript()
ora includono il frameId.
La proprietà frameId
indica il frame da cui proviene il risultato, consentendo alle estensioni di associare facilmente i risultati ai singoli frame quando vengono inseriti in più frame.
Chrome 89: nuova API per la gestione dei gruppi di schede
La nuova API chrome.tabGroups
e le nuove funzionalità in
chrome.tabs
consentono alle estensioni di leggere e manipolare i gruppi di schede.
Richiede Manifest V3.
Chrome 89: autorizzazioni personalizzabili per le risorse accessibili sul web
Le definizioni delle risorse accessibili al web in Manifest V3 sono state modificate per consentire alle estensioni di limitare l'accesso alle risorse in base all'origine o all'ID estensione del richiedente.
Post del blog: Convertitore manifest delle estensioni
Il team delle estensioni di Chrome ha creato un "Estensioni Manifest Converter" open source, uno strumento Python che automatizza alcuni degli aspetti meccanici della conversione delle estensioni in Manifest V3. Leggi il post del blog dell'annuncio e scaricalo da GitHub.
Chrome 88: disponibilità generale di Manifest V3
Manifest V3 è un aggiornamento importante della piattaforma delle estensioni; consulta la pagina Panoramica di Manifest V3 per un riepilogo delle funzionalità nuove e modificate. Al momento le estensioni potrebbero continuare a utilizzare Manifest V2, ma a breve verrà eliminato gradualmente. Ti consigliamo vivamente di utilizzare Manifest V3 per tutte le nuove estensioni e di iniziare a eseguire la migrazione di quelle esistenti a Manifest V3 il prima possibile.