Novità delle estensioni di Chrome

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.

Chrome 126: prove dell'origine nelle estensioni

Pubblicato il

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

Pubblicato il

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

Pubblicato l'

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

Pubblicato il

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

Pubblicato il

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

Pubblicato l'

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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato l'

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.

Pubblicato il

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

Pubblicato l'

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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

Scopri come abbiamo migliorato l'API declarativeNetRequest nel nostro nuovo post del blog.

Post del blog: Novità di Chrome 120 per le estensioni

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato l'

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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato l'

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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

Abbiamo pubblicato nuovi esempi e linee guida per Google Analytics e la geolocalizzazione:

Chrome 115: specifica diversi motivi in chrome.offscreen.createDocument()

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

Sono disponibili due nuovi esempi che mostrano come utilizzare WASM in un'estensione:

Un ringraziamento speciale al collaboratore GitHub @daidr per questi esempi.

Sono state aggiornate le indicazioni per la migrazione a Manifest V3

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato l'

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

Pubblicato il

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

Pubblicato il

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

Pubblicato l'

Ora le estensioni Manifest V3 possono accedere alle favicon utilizzando un nuovo pattern URL: chrome-extension://<id>/_favicon/, dove è l'ID dell'estensione. Questa sostituisce l'API chrome://favicons della piattaforma Manifest V2. Per ulteriori informazioni, consulta la documentazione relativa all'API Favicon.

Aggiornamento dei documenti: informativa sul commerciante/non commerciante

Pubblicato il

È 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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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"

Pubblicato il

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()

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato l'

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

Pubblicato il

L'API chrome.i18n.getMessage() è ora supportata nei contesti dei service worker di estensione.

Chrome 99: match_origin_as_fallback in Canary

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

È 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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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,

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 96: script di contenuti dinamici

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

I metodi nella versione Manifest V3 dell'API chrome.storage ora restituiscono promesse.

Aggiornamento delle norme: applicazione forzata della verifica in due passaggi

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato l'

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

Pubblicato il

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()

Pubblicato il

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()

Pubblicato il

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()

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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

Pubblicato il

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.