Visita spesso questa pagina per informazioni sulle modifiche alle estensioni di Chrome, alla relativa documentazione, alle norme correlate o ad altre modifiche. Troverai altre notifiche pubblicate nel gruppo Google Estensioni. La pianificazione di Chrome elenca le date di rilascio stabili e beta.
Chrome 128: corrispondenza dell'intestazione della risposta nella richiesta netta dichiarativa
A partire da Chrome 128, aggiungeremo il supporto per la corrispondenza delle intestazioni delle risposte nell'API Declarative Net Request. Questa era una richiesta comune, in particolare per la corrispondenza dell'intestazione Content-Type, pertanto abbiamo progettato un'API adatta insieme al gruppo della community WebEstensioni.
Abbiamo aggiornato il riferimento dell'API in modo da includere i nuovi campi responseHeaders
e excludedResponseHeaders
. che puoi utilizzare per verificare l'esistenza e il valore di una determinata intestazione.
Nell'ambito di questo aggiornamento, abbiamo aggiunto alla nostra documentazione una nuova sezione sulla valutazione delle regole che spiega come vengono abbinate le regole. In particolare, per la corrispondenza delle intestazioni, le regole possono essere eseguite solo dopo che sono state ricevute le intestazioni delle risposte, per cui vengono applicate in una fase successiva rispetto ad altre regole. Ciò significa che la richiesta raggiunge il server prima di essere bloccata o reindirizzata.
Video: cosa sono i script di contenuti?
Scopri di più sugli script di contenuti nelle estensioni di Chrome, inclusa la modalità di registrazione di CSS e JavaScript per l'esecuzione su una determinata pagina. Guarda il video completo.
Importanti aggiornamenti delle norme
Il team del Chrome Web Store ha pubblicato una serie di aggiornamenti alla pagina Norme del programma per gli sviluppatori per incoraggiare lo sviluppo di prodotti di alta qualità, impedire comportamenti ingannevoli e garantire il consenso informato degli utenti. Rebecca Soares, gestore delle norme del Chrome Web Store, ha riassunto tutti gli aggiornamenti nel post del blog relativo alle estensioni di Chrome: importanti aggiornamenti delle norme.
Post del blog: Che cosa succede nelle estensioni di Chrome, luglio 2024
Negli ultimi tre mesi abbiamo implementato diversi aggiornamenti significativi e nuove funzionalità, tra cui l'inizio della graduale eliminazione di Manifest V2. Resta al passo con la pagina Cosa succede nelle estensioni di Chrome, edizione di luglio.
Video: Che cos'è un codice ospitato in remoto?
Patrick del team delle estensioni di Chrome spiega il concetto di codice RHC (Remotely Hosted Code) nelle estensioni di Chrome. Scopri perché RHC non è più consentito, come rilevarlo e cosa fare se è necessario aggiornare l'estensione. Guarda il video completo.
Chrome 127: nuova API action.openPopup
A partire da Chrome 127, la action.openPopup
L'API è disponibile per tutte le estensioni. In precedenza era disponibile solo nella versione canary
o alle estensioni installate da un criterio.
Video: affidabilità e Colloquio al team per la sicurezza
Il team di sviluppo delle estensioni di Chrome ha incontrato il team Trust & Il team per la sicurezza che controlla il Chrome Web Store per porre le tue domande. Guarda il video completo.
Post del blog: Inizio dell'eliminazione graduale di Manifest V2
A partire dal 3 giugno sui canali Chrome Beta, Dev e Canary, se gli utenti hanno ancora installato le estensioni Manifest V2, alcuni inizieranno a visualizzare un banner di avviso quando visiteranno la pagina di gestione delle estensioni (chrome://extensions) e informandoli che alcune estensioni (Manifest V2) installate a breve non saranno più supportate. Scopri di più nell'annuncio ufficiale
Aggiornamenti all'interfaccia utente del riquadro laterale
Di recente abbiamo apportato alcune modifiche all'interfaccia utente del riquadro laterale, inclusa l'aggiunta di un'icona a forma di puntina rimuovendo l'icona globale del riquadro laterale. Per saperne di più, consulta gli annunci di pubblica utilità e consulta la nostra documentazione e gli esempi aggiornati.
Post del blog: Estensioni di Chrome alla conferenza Google I/O 2024
Abbiamo alle spalle un altro Google I/O e abbiamo parlato di tutti gli entusiasmanti aggiornamenti relativi alle estensioni. Vai su YouTube per guardare il video completo e leggere il nostro post del blog per alcuni dei momenti salienti.
Salta la revisione delle modifiche idonee alle richieste nette dichiarative
Il Chrome Web Store ora ti consente di saltare la revisione delle modifiche idonee quando utilizzi l'API dichiarativa Net Request. Scopri di più sull'idoneità e su come attivare la funzionalità nella documentazione del Chrome Web Store.
Percentuale di deployment disponibile nell'API Chrome Web Store
Di recente abbiamo aggiornato la documentazione dell'API Chrome Web Store per includere informazioni su deployPercentage
, che consentono di assegnare una percentuale di un'implementazione parziale. Scopri di più su deployPercentage
.
Chrome 126: prove dell'origine nelle estensioni
Chrome 126 introduce il nuovo campo manifest.json trial_tokens
, che ti consente di attivare le prove dell'origine e le prove relative al ritiro su tutte le piattaforme di estensioni. Per ulteriori informazioni, leggi la guida.
Post del blog: Che cosa succede nelle estensioni di Chrome - Aprile 2024
Abbiamo pubblicato una nuova edizione di Cosa sta succedendo nelle estensioni di Chrome. in cui si parla di cosa ha lavorato il team addetto alle estensioni negli ultimi mesi. Ciò include: rollback della versione nel Chrome Web Store, migliore supporto di Firebase Auth e ulteriori lanci e aggiornamenti di API.
Rollback delle versioni nella Dashboard per sviluppatori del Chrome Web Store
Esegui il rollback dell'estensione alla versione pubblicata precedente nel Chrome Web Store, senza ulteriori controlli. Per ulteriori informazioni, leggi il post del blog e la documentazione.
Chrome 124: API Advanced documentScan
Un'API documentScan
avanzata
è ora disponibile su ChromeOS per rilevare e recuperare immagini dagli allegati
scanner di documenti.
Chrome 124: supporto di WebGPU nei service worker
A partire da Chrome 124, i service worker supportano WebGPU. Per un guida rapida, consulta l'esempio dell'estensione WebGPU.
Chrome 123: l'API Events supporta il filtro per blocchi CIDR
L'API Events supporta ora i filtri
tramite blocchi CIDR (Classless Inter-Domain Routing). Un blocco CIDR è una raccolta
Indirizzi IP che condividono un prefisso di rete e lo stesso numero di bit. In precedenza,
uno sviluppatore che deve filtrare più indirizzi IP necessari per configurare un filtro
per ciascuno degli indirizzi nell'intervallo di blocchi. Ora, quando un'estensione chiama
addListener()
, se una regola viene passata significa che il gestore di eventi verrà chiamato soltanto
quando la parte host di un URL è un indirizzo IP ed è contenuta in uno qualsiasi dei dati CIDR
ai blocchi specificati in un array.
Chrome Web Store: aggiornamenti dei requisiti di lunghezza dei nomi delle estensioni
Sul Chrome Web Store è ora disponibile un limite universale di 75 caratteri per
nel campo "name"
dell'estensione
manifest.json. In precedenza, il limite per l'inglese era di 45 caratteri, mentre
non ha subito limitazioni al campo "name"
in altre lingue.
Questo era originariamente pensato per consentire differenze culturali e linguistiche che potrebbe non essere possibile acquisire con lo stesso numero di caratteri. Purtroppo questa funzionalità è stata utilizzata in modo illecito da un numero limitato di sviluppatori per inviare spam nello store. Come abbiamo introdotto un nuovo limite universale di 75 caratteri. Attualmente, questo limite copre quasi tutte le estensioni presenti sullo store, pertanto è probabile che sarà necessaria un'azione da parte tua a seguito di questa modifica. Se provi a caricare un con un nome più lungo del limite massimo, il caricamento verrà bloccato dal negozio.
Post del blog: Eyeo's journey to testing della sospensione del service worker
In questo post del team di Extension Engine di eyeo, esploreremo il problema di testare i worker di servizio delle estensioni. In Manifest V2, le estensioni vivevano in una pagina in background e rimanevano attive per tutto il ciclo di vita dell'estensione. Manifest V3 utilizza invece i service worker e, per definizione, i service worker e risparmiare risorse, arrestandole quando non sono necessarie. Questo presenta alcune sfide di test. Questo post spiega come Eyeo ha affrontato queste sfide.
Chrome 123: le sveglie ora vengono eseguite quando il dispositivo è in sospensione
Sveglie impostate utilizzando l'API chrome.alarms
non sono più ritardati quando un dispositivo entra in modalità di sospensione. Quando il dispositivo si riattiva,
l'allarme si attiverà una volta, indipendentemente dal numero di allarmi persi. Ad esempio, supponiamo che
è stata impostata una sveglia una volta all'ora e il dispositivo su cui è accesa sta dormendo
Dalle 00:55 alle 02:05, poi solo la sveglia delle 2:00 attiva l'evento onAlarm
.
Verrà attivato il più vicino possibile alle 02:00 e immediatamente quando un dispositivo si riattiva.
se era addormentato.
Questa modifica allinea Chrome al comportamento concordato nel gruppo della community di estensioni web.
Post del blog: Modifiche al comportamento di bfcache con le porte dei messaggi delle estensioni
La cache back-forward (bfcache) è un browser
che consente una navigazione immediata avanti e indietro. A partire da
Chrome 123, quando una pagina con la porta di estensione aperta viene archiviata in bfcache,
canale di messaggi è chiuso, il che significa che a quella pagina non verrà inviato nessun messaggio.
Di conseguenza, gli script delle estensioni devono rimanere in ascolto di eventi del ciclo di vita come
onDisconnect
e configurare una nuova connessione quando la pagina viene ripristinata da BFCache.
Per ulteriori informazioni e per codice campione, consulta Modifiche al comportamento di BFCache con le porte per i messaggi delle estensioni.
Chrome 122: Promessa di supporto sulle API di estensioni asincrone
Abbiamo completato l'implementazione del supporto Promise per tutte le API delle estensioni asincrone
di machine learning. Questo è stato fatto per modernizzare i metodi delle API migliorando l'ergonomia dei
le operazioni asincrone. Alcuni metodi (ad esempio,
desktopCapture.chooseDesktopMedia()
) continuano a supportare solo i callback
perché le relative piattaforme attuali non sono compatibili con Promise. Per retromarcia
i callback sono ancora supportati. Se trovi una promessa che non funziona,
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 forniscono un percorso di comunicazione istantaneo dai tuoi server direttamente alle installazioni delle estensioni. Inoltre, sono disponibili 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 chiusura dei service worker con Puppeteer. L'esempio allegato lo dimostra in Puppeteer e Selenium.
Esempio aggiornato per i messaggi nativi
Abbiamo appena pubblicato un esempio aggiornato per i messaggi nativi. Questa API consente all'estensione di iniziare e comunicare con un'altra applicazione. Grazie al collaboratore GitHub Shubham-Rasal per lavorare su questo argomento.
Chrome 121: nuova proprietà lastAccessed nelle schede.Scheda
Una nuova proprietà denominata lastAccessed
è stata aggiunta all'oggetto tabs.Tab
. Questa proprietà indica quando la scheda è stata attivata l'ultima volta. Il valore restituito è espresso in millisecondi dall'epoca.
Chrome 121: "sfondo" non supportato le chiavi ora emettono un avviso
Nel passaggio da Manifest V2 a Manifest V3, i elementi secondari della chiave manifest "background"
sono stati modificati per consentire la sostituzione degli script in background con i service worker delle estensioni. 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 ora attiva un avviso.
Ciò avviene per consentire l'utilizzo di un singolo file manifest nelle estensioni di più browser, per una proposta nel gruppo della community.
Chrome 120: granularità minima dell'allarme 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
La cronologia del supporto di Manifest V2 è stata aggiornata. 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
Di recente è stato rilasciato Chrome 120 Beta. Per un riepilogo degli importanti aggiornamenti 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 i due elementi finali (userScript, gestore di file su ChromeOS) dall'elenco di lacune critiche della piattaforma.
PSA: modifica alla gestione degli URL delle norme sulla privacy nella Dashboard per sviluppatori
Le norme sulla privacy nella Dashboard per sviluppatori vengono ora aggiunte a livello di articolo. In questo modo puoi fornire norme sulla privacy diverse per ogni articolo. Scopri di più al riguardo modifica nel nostro PSA.
Video: una chat con Matt Frisbie
Abbiamo appena pubblicato un nuovo video sul canale YouTube di Chrome per gli sviluppatori in chat con l'esperto e autore Google Developer, Matt Frisbie. Guarda qui
Nuove indicazioni sui test delle estensioni
Abbiamo appena pubblicato nuove indicazioni su come scrivere test automatici per le estensioni, tra cui come scrivere test delle unità ed entrambi indicazioni generali e tutorial sui test end-to-end.
Post del blog: Che cosa succede nelle estensioni di Chrome - Ottobre 2023
Abbiamo appena pubblicato la seconda edizione di What's Happening in Chrome Extensions. Il post descrive ciò su cui il team di estensione ha lavorato negli ultimi mesi, tra cui la risoluzione dei problemi di stabilità dei service worker e i progressi positivi nella colmare tutte le lacune della piattaforma MV3. Inoltre, condividiamo fantastiche versioni dell'API, come l'API Reading List e l'API User Scripts.
Aumento dei limiti dei set di regole statici nell'API Declarative Net Request
A seguito di feedback nelle estensioni web Community Group, stiamo aumentando in modo significativo il limite di set di regole statici abilitati da 10 a 50. Inoltre, stiamo aumentando il numero totale di set di regole statici consentiti da 50 a 100. Questo è attualmente disponibile in versione canary.
Indicazioni migliorate sul codice ospitato in remoto
Un requisito di Manifest V3 è che le estensioni non possono più utilizzare il codice ospitato in remoto. Questo ha fatto parte della nostra guida alla migrazione fin dall'inizio, ma abbiamo pensato che valesse la pena migliorare le indicazioni in merito a questo problema. Questa pagina ora fornisce maggiori informazioni, descrivendo ciò che è ancora possibile in Manifest V3 e fornendo maggiori informazioni sulle strategie di upgrade.
È presente un'aggiunta correlata alla sezione Risoluzione dei problemi relativi alle violazioni del Chrome Web Store. Una nuova sezione descrive i motivi più comuni per cui le estensioni con codice ospitato in remoto vengono rifiutate.
Chrome 118: isUrlFilterCaseSensitive ora è impostato su false per impostazione predefinita
A partire da Chrome 118, la isUrlFilterCaseSensitive
nella proprietà chrome.declarativeNetRequest
L'API è stata modificata in false
. Se vuoi mantenere il vecchio comportamento, puoi impostare esplicitamente isUrlFilterCaseSensitive
su true
in
le regole declarativeNetRequest.
Questo segue le discussioni delle estensioni web Gruppo community. Firefox e Safari hanno già implementato una modifica simile.
Documentazione su cookie e API di archiviazione web
Abbiamo pubblicato una nuova guida sul funzionamento dei cookie e delle 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 il ritiro dei cookie di terze parti attraverso la creazione di una serie di nuove API delle piattaforme web e di dettagli su come funzionano nelle estensioni.
Gli esempi di estensioni sono 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 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 ad API o ad esempi funzionali (caso d'uso).
Questa nuova pagina di esempio è stata creata da un partecipante a Summer of Code di Google, Xuezhou Dai, che ha anche contribuito con diversi nuovi campioni. Puoi leggere le loro esperienze l'estate scorsa nel loro post sul nostro blog.
Come in precedenza, i nostri esempi di codice sono ancora disponibili su GitHub per la clonazione o il fork.
Chrome 118: modifiche all'apertura del file: URL dello schema
A partire da Chrome 118, per le estensioni sarà necessario il messaggio "Consenti l'accesso agli URL dei file" attivata dalla pagina chrome://extensions
per aprire gli URL con schema file:// utilizzando le API Tabs o Windows. Puoi verificare questo accesso in modo programmatico chiamando il numero chrome.extension.isAllowedFileSchemeAccess()
. Firefox già limita gli URL dei file e Safari supporta questa modifica. Per ulteriori informazioni, leggi il post nel gruppo Google delle estensioni.
Chrome 117: protezioni degli URL espansi nelle navigazioni delle API delle estensioni
La navigazione attivata in precedenza dalle chiamate API delle estensioni per tabs.update()
, tabs.create()
e windows.create()
generava un errore per alcuni URL chrome://. Inoltre, era vietata la chiamata di tabs.update()
con un URL JavaScript. Nella versione 117, queste protezioni sugli URL JavaScript sono state estese al metodo tabs.create()
e sono stati aggiunti ulteriori URL chrome:// all'elenco degli URL vietati che si applicano a tutti i metodi menzionati in precedenza.
Linee guida 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 visualizzarne i contenuti, garantendo così maggiore privacy agli utenti. Inoltre, è complicato da usare. Tenendo conto di ciò, abbiamo riscritto le indicazioni in modo da ritenere più chiaro come implementare i set 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: DevTools i passaggi sugli script dei contenuti per impostazione predefinita
Gli script dei contenuti inseriti sono ora nell'elenco degli elementi da ignorare di DevTools per impostazione predefinita. Ciò non influisce sui punti di interruzione, ma significa che gli script di contenuti verranno superati 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 l'opzione è attiva e offre la possibilità di rimuoverlo dall'elenco degli elementi da ignorare. Per disattivare questo comportamento, apri DevTools, vai a Impostazioni e poi a Elenco ignorati. Per scoprire di più, consulta Novità di DevTools.
Chrome 116 beta: molto di più di quello che possiamo contenere
Chrome 116 è una grande release per le estensioni. Ora puoi aprire i riquadri laterali in modo programmatico. Un nuovo metodo ti consente di sapere se è presente un documento fuori schermo attivo. I service worker hanno ottenuto moltissimi miglioramenti. In 116 sono stati apportati miglioramenti a sufficienza per cui abbiamo scritto un post del blog che li riguarda. 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. Potrai anche dare un'occhiata a ciò a cui stiamo lavorando per questo trimestre. L'articolo ne elenca molte altre, con link a tutti i contenuti.
Nuove indicazioni ed esempi: scopri come utilizzare Google Analytics 4 nella tua estensione di Chrome
Abbiamo pubblicato nuovi esempi e nuove 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 trovare il codice pertinente relativo a Google Analytics. - Una nuova guida alla geolocalizzazione e tre esempi che mostrano come accedere alla geolocalizzazione in service worker, script di contenuti, popup e riquadri laterali.
Chrome 115: specifica più motivi in chrome.offscreen.createDocument()
Ora puoi specificare più enumerazioni reason
quando chiami chrome.offscreen.createDocument()
. Usa questa opzione quando un documento fuori schermo verrà usato per più scopi diversi. Il browser utilizza i motivi forniti per determinare la durata del documento fuori schermo.
Nuovo strumento: strumento di test dell'aggiornamento delle estensioni
Abbiamo appena rilasciato lo Strumento di test degli aggiornamenti delle estensioni, un server di aggiornamento delle estensioni locale che può essere utilizzato per testare gli aggiornamenti delle estensioni di Chrome durante lo sviluppo locale, incluse le concessioni delle autorizzazioni. Lo strumento mostra il flusso di aggiornamento dell'utente, incluso il mantenimento di un'estensione disattivata finché un utente non concede le nuove autorizzazioni richieste. Questo strumento è particolarmente utile per simulare le modifiche alle autorizzazioni richieste durante l'aggiornamento di un'estensione da Manifest V2 a Manifest V3.
Chrome 114: nuova API riquadro laterale
Presentazione della nuova API Side Panel, una piattaforma complementare che consente agli utenti di accedere agli strumenti insieme ai contenuti che stanno sfogliando. Per scoprire di più, consulta la documentazione di riferimento dell'API Riquadro laterale. Inoltre, abbiamo aggiunto molti esempi di riquadri laterali al nostro repository GitHub di esempio. Inoltre, condividiamo ulteriori informazioni sui riquadri laterali nel nuovo post del blog Designing a Superior User Experience with the New Side Panel API (Progettare un'esperienza utente superiore con la nuova API del riquadro laterale). Anche le norme relative alle norme sulla qualità e le best practice sono state esaminate 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à nel gruppo chromium-groups. Continua a seguirci per non perderti i nuovi aggiornamenti dell'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'utilizzo di WASM come modulo in Manifest V3 mostra come utilizzarlo in un modulo.
Un ringraziamento speciale al collaboratore GitHub @daidr per questi esempi.
Linee guida per la migrazione di Manifest V3 aggiornate
Abbiamo aggiornato la sezione Problemi noti delle nostre indicazioni sulla migrazione a Manifest V3 con un elenco aggiornato delle lacune della piattaforma delle estensioni che intendiamo chiudere prima di annunciare una nuova tempistica per il ritiro di Manifest V2.
Registrazione di audio e video con Manifest V3
Abbiamo appena pubblicato un nuovo articolo intitolato Registrazione audio e acquisizione schermo che tratta della 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 storage.local
Abbiamo aumentato la quota per la proprietà storage.local
a circa 10 MB. Questa è stata accettata nel gruppo della community di Web Extensions. In questo modo storage.local
è in linea con storage.session
, che è stato modificato in Chrome 112.
Nuovo tutorial e guida per il 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 lavoratori dei servizi che spiega in modo più dettagliato concetti importanti. Estenderemo questa sezione nei prossimi mesi.
Altri suggerimenti per la risoluzione dei problemi relativi alle 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 sono incentrate sull'offerta di vantaggi agli utenti e sull'arricchimento dell'esperienza di navigazione. Per gli annunci di affiliazione gli utenti sono a conoscenza delle estensioni che utilizzano link o codici di affiliazione per la monetizzazione e offrono un certo livello di controllo richiedendo un'azione da parte dell'utente prima dell'inclusione.
Nuove istruzioni per il convertitore dei file manifest delle estensioni
Abbiamo riscritto il file README del convertitore manifest estensione per consentirti di capire più facilmente ciò che devi fare dopo aver eseguito lo strumento. Il convertitore consente di eseguire la migrazione delle estensioni basate su Manifest V2 a Manifest V3. Il nuovo README descrive cosa fa lo strumento utilizzando parole che corrispondono molto a quelle dell'elenco di controllo della guida alla migrazione. Il convertitore non fa tutto, 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 motivi all'API Offscreen Documents. Utilizza LOCAL_STORAGE
per accedere all'API localStorage della piattaforma web. Utilizza WORKER
durante la creazione di 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à relativa alla tua scheda dello Store, dovrai intervenire entro il 1° luglio 2023 per assicurarti di continuare a ricevere dati sulla tua scheda dello Store. Per ulteriori informazioni, leggi il post sul gruppo Google Chromium Extensions.
L'API File handling arriva su ChromeOS
L'API File Gestori è disponibile per la sperimentazione su ChromeOS in Canary nelle versioni 112 e 113. Consente alle estensioni su ChromeOS di aprire file con tipi MIME ed estensioni dei file specificati. Per implementare la gestione di file, aggiungi un insieme di regole a manifest.json
. Questa funzionalità è uguale a quella delle app web progressive. Per ulteriori informazioni, leggi l'articolo su questo sito.
Per attivare la gestione di file:
- A partire dalla versione 112, avvia Chrome utilizzando il flag
--enable-features=ExtensionWebFileHandlers
, che inizia con 112 - A partire dalla versione 113, incolla
os://flags/#extension-web-file-handlers
nella omnibox di Chrome e seleziona "Attivata" dal menu a discesa.
Speriamo di lanciare questa funzionalità in Chrome 115 alla fine di giugno. Tieni d'occhio questa pagina per gli aggiornamenti.
Nuovi esempi: dichiarazioni dinamiche e inserimento programmatico
Abbiamo creato un nuovo campione per l'API chrome.scripting
. Illustra le dichiarazioni dinamiche, in cui uno script di contenuti viene registrato in fase di 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 esempi che dimostrano l'API Declarative Net Request. Ognuna dimostra l'implementazione di un singolo caso d'uso. La prima mostra come bloccare i cookie. Le altre due dimostrano il blocco e il reindirizzamento degli URL.
Chrome 112: aumento della quota di spazio di archiviazione.sessione
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 per le 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 di estensione fornendo supporto per funzionalità e API relative al DOM. Per ulteriori informazioni, leggi il post del blog.
Chrome 110: è un'estensione attiva
Il metodo chrome.action.isEnabled()
controlla in modo programmatico se un'estensione è stata attivata per una scheda specifica. In questo modo eviterai di mantenere lo stato attivo delle tue schede. Questo nuovo metodo prende un ID scheda e un riferimento a un callback e restituisce un valore booleano. Ha un limite: le schede create utilizzando chrome.declarativeContent
restituiscono sempre false.
(Di recente, lo spazio dei nomi chrome.action
ha ricevuto nuovi metodi per controllare l'aspetto dei badge delle estensioni. Per ulteriori informazioni, consulta la sezione Impostare i colori del badge.
Chrome 110: modifica del timeout di inattività del service worker
In precedenza, un service worker di estensione si arrestava spesso dopo cinque minuti. Abbiamo modificato questo comportamento per assomigliare più a quello dei service worker sul web. Un service worker di estensione verrà arrestato dopo 30 secondi di inattività o se l'elaborazione di una singola attività richiede più di 5 minuti. Per saperne di più, consulta Durata maggiore del service worker delle estensioni.
Post: Mettere in pausa l'eliminazione 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 sono stati rinviati. Per maggiori informazioni, leggi l'aggiornamento nel gruppo Google chromium-extensions.
Chrome 110: impostare i colori del badge
Lo spazio dei nomi chrome.action
offre due nuovi metodi per offrirti un maggiore controllo sui badge delle estensioni di 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 in combinazione con setBadgeBackgroundColor
e getBadgeBackgroundColor
, questi nuovi metodi consentono di applicare in modo forzato la coerenza del design e del brand.
Post del blog: Ulteriori dettagli sulla transizione a Manifest V3
Abbiamo definito le tempistiche del ritiro di Manifest V2. Anche le tempistiche del supporto di Manifest V2 sono state aggiornate in modo da riflettere queste informazioni.
Aggiornamento di Documenti: problemi noti durante la migrazione a Manifest V3
Abbiamo creato un elenco di funzionalità principali 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à a cui possono rivolgersi in vista del futuro.
Chrome Web Store: "riquadro promozionale grande" caricamento immagine rimosso
Chrome Web Store ha rimosso il "riquadro promozionale grande" carica l'interfaccia utente dalla scheda Scheda dello Store degli articoli nella dashboard per sviluppatori. Questa modifica non influisce sull'esperienza dell'utente finale, in quanto queste immagini non sono state utilizzate nell'interfaccia utente consumer. Per ulteriori dettagli, leggi questo post relativo alle estensioni chromium.
Chrome 106: Consenti alle pagine sugli URL file:// di accedere alle risorse accessibili dal web
Anche origini opache come iframe con sandbox e importazione dinamica dovrebbero essere in grado di accedere alle risorse accessibili dal web, secondo crbug.com/1219825#c11.
Chrome 106: corretto il bug che consentiva di argomenti finali errati su alcune funzioni API asincrone
In precedenza, la chiamata alle API asincrone di Manifest V3 poteva fornire un argomento finale non valido e Chrome non generava errori. Con questa correzione, Chrome ora genera un errore e segnala l'assenza di una firma corrispondente. Gli sviluppatori sono invitati a controllare le proprie estensioni su Canary per verificare la presenza di eventuali errori nel caso in cui utilizzino accidentalmente la firma errata per una chiamata API che verrà interrotta dalla correzione del bug.
Post del blog: Rinnovamento delle analisi del Chrome Web Store
Chrome Web Store offre un'esperienza rinnovata per l'analisi degli articoli per la Dashboard per sviluppatori del Chrome Web Store. La nuova dashboard è più facile da capire a colpo d'occhio e riunisce le informazioni più utili in anticipo. Per ulteriori informazioni, leggi il post del blog.
Chrome 105: promesse per l'API Identity
Ora funziona nell'API Identity
supporta le chiamate basate su promesse. Contiene una leggera modifica alla superficie per
identity.getAuthToken()
, in cui
il ritorno asincrono impostato su una chiamata basata su una promessa avrà "token" e "grantedScopes" come parametri
su un singolo oggetto (a differenza della versione di callback che li riceve come argomenti separati
la richiamata).
Chrome 104: nuove API per le favicon per Manifest V3
Le estensioni Manifest V3 ora 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 dell'API Favicon.
Aggiornamento dei documenti: informativa commerciante/non commerciante dello sviluppatore
È stato aggiunto l'identificazione commerciante/sviluppatore non commerciante che Informa gli sviluppatori di autodichiarare con precisione il loro 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 deve ora aggiungere esplicitamente questa istruzione e questo valore a extension_pages
nel
content_security_policy
dichiarazioni.
Chrome 103: la modifica delle scorciatoie MV3 ha effetto immediato
Quando modifichi la scorciatoia da tastiera di un'estensione Manifest V3 su chrome://extensions/shortcuts
:
vengono applicati immediatamente. In precedenza, l'estensione doveva essere ricaricata prima che
la modifica diventerà effettiva.
Chrome 102: script di contenuti dinamici nel mondo principale
Gli script di contenuti registrati dinamicamente ora possono specificare
mondo in cui verranno inseriti gli asset. Consulta
scripting.registerContentScripts()
per maggiori dettagli.
Chrome 102: nuovo campo manifest "optional_host_permissions"
Ora le estensioni Manifest V3 possono specificare la chiave optional_host_permissions
in manifest.json. Questo
consente alle estensioni Manifest V3 di dichiarare pattern di corrispondenza facoltativi per gli host proprio come Manifest V2
estensioni potrebbero utilizzare la chiave optional_permissions
.
Chrome 102: proprietà injectImmediately in scripting.executeScript()
chrome.scripting.executeScript()
ora accetta una proprietà injectImmediately
facoltativa nel suo
injection
argomento. Se presente e impostato su true, lo script verrà inserito nel target non appena
possibile, invece di attendere document_idle
. Tieni presente che ciò non garantisce che lo script
inserisci prima che la pagina venga caricata poiché la pagina continua a caricarsi mentre viene effettuata la chiamata API.
Chrome 102: supporto dell'API Omnibox in Manifest V3
Ora l'API Omnibox può essere utilizzata in servizi estensioni. In precedenza, alcuni dei metodi di questa API generavano chiamate a causa di le dipendenze dalle funzionalità DOM.
Chrome 102: la valutazione di wasm-unsafe-eval consentita in Manifest V3 CSP
Le estensioni Manifest V3 ora possono includere wasm-unsafe-eval
in content_security_policy
dichiarazioni. Questa modifica consente alle estensioni Manifest V3 di utilizzare WebAssembly.
Chrome 102: nuova API storage.session
Ora le estensioni Manifest V3 possono utilizzare lo spazio di archiviazione della memoria storage.session .
Aggiornamento dei documenti: scoperta degli elementi del Chrome Web Store
Il rilevamento sul Chrome Web Store offre una panoramica del modo in cui gli utenti trovano gli articoli. sul Chrome Web Store e su come i nostri editor selezionano gli elementi da mostrare.
Chrome 101: condizioni del dominio declarativeNetRequest migliorate
Le condizioni delle regole declarativeNetRequest sono state
sono stati aggiornati per consentire alle estensioni di indirizzare meglio le richieste in base alla "richiesta" della richiesta e
"iniziatore" domini. Le proprietà della condizione pertinenti sono initiatorDomains
,
excludedInitiatorDomains
, requestDomains
e excludedRequestDomains
. Vedi anche questo
thread chromium-extensions.
Chrome 100: risolto il problema relativo allo scripting.executeScript() nelle schede appena create
Risolto un problema di lunga data per cui la chiamata a scripting.executeScript()
su una scheda appena creata o
potrebbe verificarsi un errore.
Chrome 100: la porta di messaggistica nativa mantiene attivo il service worker
Connessione a un host di messaggistica nativo tramite chrome.runtime.connectNative()
nel file di un'estensione
il service worker dovrebbe mantenerlo attivo finché la porta è aperta.
Chrome 100: omnibox.setDefaultSuggestion() supporta promesse e callback
La
omnibox.setDefaultSuggestion()
ora restituisce una promessa o accetta un callback per consentire agli sviluppatori di determinare quando
suggerimento è stato impostato correttamente.
Chrome 100: supporto di i18n.getMessage() nei service worker delle estensioni
L'API chrome.i18n.getMessage()
è ora
supportati in contesti di 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 quelli con about:
, data:
, blob:
e filesystem:
URL. Vedi gli script di contenuti
documentazione per i dettagli.
Chrome 99: supporto dei service worker di estensione per i file: schemi nella versione canary
Le estensioni Manifest V2 e Manifest V3 basate su service worker ora possono utilizzare l'API Fetch per richiedere
file:
-URL dello schema. L'accesso agli URL dello schema file:
richiede comunque che l'utente attivi l'opzione "Consenti accesso
agli URL dei file per l'estensione nella pagina chrome://extensions
.
Chrome 99: promessa del supporto per le API di messaggistica in Canary
Il supporto Promessa è stato aggiunto a
tabs.sendMessage
,
runtime.sendMessage
e
runtime.sendNativeMessage
per
create per Manifest V3.
Aggiornamento dei documenti: documentazione relativa alla revisione di Chrome Web Store
È stata aggiunta una nuova pagina di riferimento che fornisce una panoramica dell'ambiente Procedura di revisione del 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
La classe executeScript()
dell'API Scripting
e i metodi insertCSS()
ora accettano
più file. In precedenza, questi metodi richiedevano un array con una singola voce di file.
Aggiornamento dei documenti: revisione degli aggiornamenti sulla risoluzione dei problemi relativi alle violazioni
La pagina Risoluzione dei problemi relativi alle violazioni del Chrome Web Store è stata sono stati aggiornati per fornire agli sviluppatori indicazioni più dettagliate sui motivi più comuni del rifiuto.
Chrome 96: supporto esteso delle promesse ad altre 27 API
Questa release contiene un numero notevolmente maggiore di aggiornamenti promessi rispetto a qualsiasi release precedente. Gli aggiornamenti includono sia le API generiche sia quelle di estensioni specifiche per ChromeOS. Per maggiori dettagli, espandi le sezioni seguenti.
API per le 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 utilizzano la classe ChromeSetting
il prototipo supporta ora anche le promesse. Le API seguenti sono interessate da questa modifica.
API 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
registrazione,
aggiornando,
annullare la registrazione e ricevere un elenco di script di contenuti
in fase di runtime. In precedenza, gli script di contenuti potevano essere dichiarati solo in modo statico nel
manifest.json o inserito in modo programmatico in fase di runtime con
chrome.scripting.executeScript()
Aggiornamento di Documenti: cronologia del supporto di Manifest V2
Le tempistiche della transizione di Manifest da V2 a V3 sono state annunciate in questo post del blog e è stata pubblicata una pagina della cronologia più dettagliata.
Chrome 96: autorizzazione dichiarativaNetRequestWithHostAccess
La nuova autorizzazione declarativeNetRequestWithHostAccess
consente alle estensioni di utilizzare
l'API chrome.declarativeNetRequest
sui siti in cui
per cui dispone delle autorizzazioni host. Questa opzione attiva anche le estensioni Manifest V2 esistenti che utilizzano
webRequest
, webRequestBlocking
e l'autorizzazione dell'host specifica del sito per eseguire la migrazione al
API chrome.declarativeNetRequest
senza
che richiede l'approvazione di nuove autorizzazioni da parte dell'utente.
Chrome 95: inserire script direttamente nelle pagine
Le API di chrome.scripting
Il metodo executeScript()
ora può
inserire gli script direttamente nel mondo principale di una pagina. In precedenza, le estensioni potevano essere inserite solo direttamente
nel mondo isolato dell'estensione. Per saperne di più sui mondi isolati, consulta la documentazione
sugli script di contenuti.
Chrome 95: promette il supporto per l'API Storage
Metodi nella versione Manifest V3 dell'chrome.storage
Le API ora restituiscono promesse.
Aggiornamento delle norme: applicazione 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 relative alle richieste nette dichiarative
Il chrome.declarativeNetRequest
ora supporta
per specificare fino a 50 set di regole statici
(MAX_NUMBER_OF_STATIC_RULESETS)
e abilitare fino a 10 set di regole
(MAX_NUMBER_OF_ENABLED_STATIC_RULESETS)
alla volta.
Chrome 93: supporto per l'isolamento multiorigine
Le estensioni Manifest V2 e Manifest V3 ora possono attivare l'isolamento multiorigine. Questa funzionalità limita le origini multiorigine
possono caricare le pagine di un'estensione e consentono l'uso di funzionalità di piattaforme web di basso livello come
SharedArrayBuffer
L'attivazione sarà obbligatoria 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 di verifica in due passaggi per pubblicare sul Chrome Web Archivia. Per ulteriori informazioni, leggi il post del blog.
Post del blog: azioni delle estensioni in Manifest V3
Le estensioni di Chrome hanno avuto API chrome.browserAction
e chrome.pageActions
per anni, ma Manifest
V3 ha sostituito entrambi con un'API chrome.actions
generica. Questo
esplora la storia di queste API e cosa è cambiato in Manifest V3. Leggi il post.
Post del blog: introduzione di chrome.scripting
L'API chrome.scripting
è una nuova API Manifest V3 incentrata
bene lo scripting. In questo post, analizziamo le motivazioni di questo cambiamento e diamo un'occhiata più da vicino
delle sue nuove funzionalità. Leggi il post.
Chrome 92: supporto dei service worker di modulo
Chrome ora supporta i moduli JavaScript nei service worker. Per specificare un modulo o un modulo manifest:
"background": {
"service_worker": "script.js",
"type": "module"
}
In questo modo viene caricato lo script worker come modulo ES, che ti consente di utilizzare la parola chiave import
nel
dello script del worker per importare altri moduli.
Chrome 91: chrome.action.getUserSettings()
Il nuovo
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()
La nuova chrome.scripting.removeCSS()
consente alle estensioni di rimuovere i CSS precedentemente inseriti tramite
chrome.scripting.insertCSS()
. it
sostituisce chrome.tabs.removeCSS()
.
Chrome 90: restituzione di promesse da scripting.executeScript()
chrome.scripting.executeScript()
ora
supporta la restituzione di promesse. Se il valore risultante dell'esecuzione dello script è una promessa, Chrome
attenderà che la promessa si stabilizzi e restituirà il valore risultante.
Chrome 90: i risultati di chrome.scripting.executeScript() includono frameId
Risultati restituiti da
chrome.scripting.executeScript()
ora includi il frameId.
La proprietà frameId
indica il frame da cui proviene il risultato, in modo che le estensioni possano facilmente
associare i risultati ai singoli frame quando inserisci i dati in più frame.
Chrome 89: nuova API per la gestione dei gruppi di schede
La nuova API chrome.tabGroups
e nuove funzionalità in
chrome.tabs
consente alle estensioni di leggere e manipolare i gruppi di schede.
Richiede Manifest V3.
Chrome 89: autorizzazioni personalizzabili per le risorse accessibili sul web
Definizioni delle Risorse accessibili dal web in Manifest V3 è stato modificato per consentire alle estensioni di limitare l'accesso alle risorse in base all'origine del richiedente o l'ID estensione.
Post del blog: strumento di conversione dei file manifest delle estensioni
Il team per le estensioni di Chrome ha creato un "convertitore manifest estensione", uno strumento Python open source che automatizza alcuni aspetti meccanici della conversione delle estensioni in Manifest V3. Consulta le 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 Panoramica di Manifest V3 per un riepilogo delle funzionalità nuove e modificate. Estensioni potrebbe continuare a utilizzare Manifest V2 per il momento, ma questa funzionalità verrà eliminata gradualmente in futuro. Abbiamo consigliamo di utilizzare Manifest V3 per le nuove estensioni e di iniziare la migrazione delle estensioni esistenti a Manifest V3 il prima possibile.