Riferimento API

La maggior parte delle estensioni richiede l'accesso a una o più API delle estensioni di Chrome per funzionare. Questo riferimento API descrive le API disponibili per l'utilizzo nelle estensioni e presenta esempi di casi d'uso.

A partire da Chrome 148, queste API sono disponibili anche nello spazio dei nomi browser come alternativa cross-browser a chrome. Per indicazioni sull'adozione, consulta Lo spazio dei nomi del browser.

Funzionalità comuni delle API Extensions

Un'API Extensions è costituita da uno spazio dei nomi contenente metodi e proprietà per l'esecuzione di operazioni sulle estensioni e, di solito, ma non sempre, campi manifest per il file manifest.json. Ad esempio, lo spazio dei nomi browser.action richiede un oggetto "action" nel manifest. Molte API richiedono anche autorizzazioni nel file manifest.

I metodi nelle API delle estensioni sono asincroni, se non diversamente specificato. I metodi asincroni vengono restituiti immediatamente, senza attendere il completamento dell'operazione che li chiama. Utilizza le promesse per ottenere i risultati di questi metodi asincroni.

API delle estensioni di Chrome

accessibilityFeatures

Utilizza l'API chrome.accessibilityFeatures per gestire le funzioni di accessibilità di Chrome. Questa API si basa sul prototipo ChromeSetting dell'API di tipo per ottenere e impostare singole funzioni di accessibilità. Per ottenere gli stati funzionalità, l'estensione deve richiedere l'autorizzazione accessibilityFeatures.read. Per modificare lo stato della funzionalità, l'estensione richiede l'autorizzazione accessibilityFeatures.modify. Tieni presente che accessibilityFeatures.modify non implica l'autorizzazione accessibilityFeatures.read.

action
Chrome 88+ browser.* da Chrome 148 MV3+

Utilizza l'API chrome.action per controllare l'icona dell'estensione nella barra degli strumenti di Google Chrome.

alarms

Utilizza l'API chrome.alarms per pianificare l'esecuzione del codice periodicamente o in un momento specifico nel futuro.

audio
Chrome 59 e versioni successive browser.* da Chrome 148 Solo ChromeOS

L'API chrome.audio viene fornita per consentire agli utenti di ottenere informazioni sui dispositivi audio collegati al sistema e di controllarli. Questa API è attualmente disponibile solo in modalità kiosk per ChromeOS.

bookmarks

Utilizza l'API chrome.bookmarks per creare, organizzare e manipolare i preferiti. Consulta anche Override Pages, che puoi utilizzare per creare una pagina Gestione preferiti personalizzata.

browsingData

Utilizza l'API chrome.browsingData per rimuovere i dati di navigazione dal profilo locale di un utente.

certificateProvider
Chrome 46 e versioni successive browser.* da Chrome 148 Solo ChromeOS

Utilizza questa API per esporre i certificati alla piattaforma, che può utilizzarli per le autenticazioni TLS.

commands

Utilizza l'API Commands per aggiungere scorciatoie da tastiera che attivano azioni nell'estensione, ad esempio un'azione per aprire l'azione del browser o inviare un comando all'estensione.

contentSettings

Utilizza l'API chrome.contentSettings per modificare le impostazioni che controllano se i siti web possono utilizzare funzionalità come cookie, JavaScript e plug-in. Più in generale, le impostazioni dei contenuti ti consentono di personalizzare il comportamento di Chrome per ogni sito anziché a livello globale.

contextMenus

Utilizza l'API chrome.contextMenus per aggiungere elementi al menu contestuale di Google Chrome. Puoi scegliere i tipi di oggetti a cui applicare le aggiunte al menu contestuale, ad esempio immagini, link ipertestuali e pagine.

cookie

Utilizza l'API chrome.cookies per eseguire query e modificare i cookie e per ricevere notifiche quando cambiano.

debugger

L'API chrome.debugger funge da trasporto alternativo per il protocollo di debug remoto di Chrome. Utilizza chrome.debugger per collegarti a una o più schede per instrumentare l'interazione di rete, eseguire il debug di JavaScript, modificare il DOM e il CSS e altro ancora. Utilizza la proprietà Debuggee tabId per scegliere come target le schede con sendCommand e indirizzare gli eventi per tabId dai callback onEvent.

declarativeContent

Utilizza l'API chrome.declarativeContent per intraprendere azioni in base ai contenuti di una pagina, senza richiedere l'autorizzazione per leggere i contenuti della pagina.

declarativeNetRequest
Chrome 84+ browser.* da Chrome 148

L'API chrome.declarativeNetRequest viene utilizzata per bloccare o modificare 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ì una maggiore privacy.

desktopCapture

L'API Desktop Capture acquisisce i contenuti dello schermo, di singole finestre o di singole schede.

devtools.inspectedWindow

Utilizza l'API chrome.devtools.inspectedWindow per interagire con la finestra ispezionata: ottieni l'ID scheda della pagina ispezionata, valuta il codice nel contesto della finestra ispezionata, ricarica la pagina o ottieni l'elenco delle risorse all'interno della pagina.

devtools.network

Utilizza l'API chrome.devtools.network per recuperare le informazioni sulle richieste di rete visualizzate dagli Strumenti per sviluppatori nel riquadro Rete.

devtools.panels

Utilizza l'API chrome.devtools.panels per integrare l'estensione nell'interfaccia utente della finestra Strumenti per sviluppatori: crea i tuoi riquadri, accedi a quelli esistenti e aggiungi barre laterali.

devtools.performance
Chrome 129 e versioni successive browser.* da Chrome 152

Utilizza l'API chrome.devtools.performance per ascoltare gli aggiornamenti dello stato della registrazione nel riquadro Prestazioni di DevTools.

devtools.recorder
Browser Chrome 105 e versioni successive * a partire da Chrome 152

Utilizza l'API chrome.devtools.recorder per personalizzare il riquadro Registratore in DevTools.

dns
Canale Dev

Utilizza l'API chrome.dns per la risoluzione DNS.

documentScan
Chrome 44 e versioni successive browser.* da Chrome 148 Solo ChromeOS

Utilizza l'API chrome.documentScan per rilevare e recuperare immagini dagli scanner di documenti collegati.

dom
Chrome 88+ browser.* da Chrome 148

Utilizza l'API chrome.dom per accedere ad API DOM speciali per le estensioni

downloads

Utilizza l'API chrome.downloads per avviare, monitorare, manipolare e cercare i download in modo programmatico.

enterprise.deviceAttributes
Chrome 46 e versioni successive browser.* da Chrome 148 Solo ChromeOS Richiede la policy

Utilizza l'API chrome.enterprise.deviceAttributes per leggere gli attributi del dispositivo. Nota: questa API è disponibile solo per le estensioni installate in modo forzato secondo le policy aziendali.

enterprise.hardwarePlatform
Chrome 71+ browser.* da Chrome 148 Richiede la policy

Utilizza l'API chrome.enterprise.hardwarePlatform per ottenere il produttore e il modello della piattaforma hardware su cui viene eseguito il browser. Nota: questa API è disponibile solo per le estensioni installate tramite policy aziendali.

enterprise.login
Chrome 139+ browser.* da Chrome 148 Solo ChromeOS Richiede la policy

Utilizza l'API chrome.enterprise.login per uscire dalle sessioni Ospite gestite. Nota: questa API è disponibile solo per le estensioni installate tramite policy aziendali nelle sessioni Ospite gestite di ChromeOS.

enterprise.networkingAttributes
Chrome 85 e versioni successive browser.* da Chrome 148 Solo ChromeOS Richiede la policy

Utilizza l'API chrome.enterprise.networkingAttributes per leggere le informazioni sulla tua rete attuale. Nota: questa API è disponibile solo per le estensioni installate in modo forzato secondo le policy aziendali.

enterprise.platformKeys
Solo ChromeOS Richiede una policy

Utilizza l'API chrome.enterprise.platformKeys per generare chiavi e installare certificati per queste chiavi. I certificati verranno gestiti dalla piattaforma e potranno essere utilizzati per l'autenticazione TLS, l'accesso alla rete o da un'altra estensione tramite chrome.platformKeys.

eventi

Lo spazio dei nomi chrome.events contiene tipi comuni utilizzati dalle API che inviano eventi per informarti quando si verifica un evento interessante.

extension

L'API chrome.extension dispone di utilità che possono essere utilizzate da qualsiasi pagina di estensione. Include il supporto per lo scambio di messaggi tra un'estensione e i relativi script di contenuti o tra estensioni, come descritto in dettaglio in Passaggio di messaggi.

extensionTypes

L'API chrome.extensionTypes contiene dichiarazioni di tipo per le estensioni di Chrome.

fileBrowserHandler
Solo ChromeOS Solo in primo piano

Utilizza l'API chrome.fileBrowserHandler per estendere il browser di file di ChromeOS. Ad esempio, puoi utilizzare questa API per consentire agli utenti di caricare file sul tuo sito web.

fileSystemProvider
Solo ChromeOS

Utilizza l'API chrome.fileSystemProvider per creare file system accessibili dal gestore di file su ChromeOS.

fontSettings

Utilizza l'API chrome.fontSettings per gestire le impostazioni dei caratteri di Chrome.

gcm

Utilizza chrome.gcm per consentire ad app ed estensioni di inviare e ricevere messaggi tramite Firebase Cloud Messaging (FCM).

history

Utilizza l'API chrome.history per interagire con il record delle pagine visitate del browser. Puoi aggiungere, rimuovere ed eseguire query sugli URL nella cronologia del browser. Per sostituire la pagina della cronologia con la tua versione, consulta Override Pages.

i18n

Utilizza l'infrastruttura chrome.i18n per implementare l'internazionalizzazione nell'intera app o estensione.

identity

Utilizza l'API chrome.identity per ottenere i token di accesso OAuth2.

idle

Utilizza l'API chrome.idle per rilevare quando cambia lo stato di inattività della macchina.

input.ime
Solo ChromeOS

Utilizza l'API chrome.input.ime per implementare un IME personalizzato per ChromeOS. In questo modo, l'estensione può gestire le pressioni dei tasti, impostare la composizione e gestire la finestra dei candidati.

instanceID
Browser Chrome 44 e versioni successive * da Chrome 148

Utilizza chrome.instanceID per accedere al servizio ID istanza.

loginState
Chrome 78 e versioni successive browser.* da Chrome 148 Solo ChromeOS

Utilizza l'API chrome.loginState per leggere e monitorare lo stato di accesso.

video

L'API chrome.management fornisce modi per gestire le app e le estensioni installate.

mimeHandler
Chrome 151 e versioni successive

Utilizza l'API chrome.mimeHandler per gestire gli stream di tipi MIME nelle estensioni di terze parti.

notifications

Utilizza l'API chrome.notifications per creare notifiche avanzate utilizzando i modelli e mostrale agli utenti nella barra delle applicazioni.

offscreen
Chrome 109+ browser.* da Chrome 148 MV3+

Utilizza l'API offscreen per creare e gestire documenti fuori schermo.

omnibox

L'API omnibox ti consente di registrare una parola chiave nella barra degli indirizzi di Google Chrome, nota anche come omnibox.

pageCapture

Utilizza l'API chrome.pageCapture per salvare una scheda come MHTML.

autorizzazioni

Utilizza l'API chrome.permissions per richiedere le autorizzazioni facoltative dichiarate in fase di runtime anziché di installazione, in modo che gli utenti capiscano perché sono necessarie e concedano solo quelle necessarie.

platformKeys
Chrome 45 e versioni successive browser.* da Chrome 148 Solo ChromeOS

Utilizza l'API chrome.platformKeys per accedere ai certificati client gestiti dalla piattaforma. Se l'utente o la policy concede l'autorizzazione, un'estensione può utilizzare questo certificato nel suo protocollo di autenticazione personalizzato. Ad esempio, questo consente l'utilizzo di certificati gestiti dalla piattaforma in VPN di terze parti (vedi chrome.vpnProvider).

power

Utilizza l'API chrome.power per eseguire l'override delle funzionalità di gestione dell'alimentazione del sistema.

printerProvider
Browser Chrome 44 e versioni successive * da Chrome 148

L'API chrome.printerProvider espone gli eventi utilizzati dal gestore di stampa per eseguire query sulle stampanti controllate dalle estensioni, per eseguire query sulle loro funzionalità e per inviare processi di stampa a queste stampanti.

stampa
Chrome 81 e versioni successive browser.* da Chrome 148 Solo ChromeOS

Utilizza l'API chrome.printing per inviare processi di stampa alle stampanti installate su Chromebook.

printingMetrics
Chrome 79+ browser.* da Chrome 148 Solo ChromeOS Richiede la policy

Utilizza l'API chrome.printingMetrics per recuperare i dati sull'utilizzo della stampa.

privacy

Utilizza l'API chrome.privacy per controllare l'utilizzo delle funzionalità di Chrome che possono influire sulla privacy di un utente. Questa API si basa sul prototipo ChromeSetting dell'API di tipo per ottenere e impostare la configurazione di Chrome.

processes
Canale Dev

Utilizza l'API chrome.processes per interagire con i processi del browser.

proxy

Utilizza l'API chrome.proxy per gestire le impostazioni del proxy di Chrome. Questa API si basa sul prototipo ChromeSetting dell'API di tipo per ottenere e impostare la configurazione del proxy.

publicSuffix
Chrome 153 e versioni successive

Utilizza l'API chrome.publicSuffix per eseguire query sulla Public Suffix List (PSL) del browser.

readingList
Chrome 120+ browser.* da Chrome 148 MV3+

Utilizza l'API chrome.readingList per leggere e modificare gli elementi nell'elenco di lettura.

runtime

Utilizza l'API chrome.runtime per recuperare il service worker, restituire i dettagli del manifest e ascoltare e rispondere agli eventi nel ciclo di vita dell'estensione. Puoi anche utilizzare questa API per convertire il percorso relativo degli URL in URL completi.

scripting
Chrome 88+ browser.* da Chrome 148 MV3+

Utilizza l'API chrome.scripting per eseguire lo script in contesti diversi.

search
Chrome 87 e versioni successive browser.* da Chrome 148

Utilizza l'API chrome.search per eseguire ricerche tramite il provider predefinito.

sessioni

Utilizza l'API chrome.sessions per eseguire query e ripristinare schede e finestre da una sessione di navigazione.

sidePanel
Chrome 114+ browser.* da Chrome 148 MV3+

Utilizza l'API chrome.sidePanel per ospitare i contenuti nel riquadro laterale del browser insieme ai contenuti principali di una pagina web.

spazio di archiviazione

Utilizza l'API chrome.storage per archiviare, recuperare e monitorare le modifiche ai dati utente.

system.cpu

Utilizza l'API system.cpu per eseguire query sui metadati della CPU.

system.display

Utilizza l'API system.display per eseguire query sui metadati visibili.

system.memory

L'API chrome.system.memory.

system.storage

Utilizza l'API chrome.system.storage per eseguire query sulle informazioni del dispositivo di archiviazione e ricevere una notifica quando un dispositivo di archiviazione rimovibile viene collegato e scollegato.

systemLog
Chrome 125 e versioni successive browser.* da Chrome 148 Solo ChromeOS Richiede la policy

Utilizza l'API chrome.systemLog per registrare i log di sistema di Chrome dalle estensioni.

tabCapture

Utilizza l'API chrome.tabCapture per interagire con gli stream multimediali delle schede.

tabGroups
Chrome 89+ browser.* da Chrome 148 MV3+

Utilizza l'API chrome.tabGroups per interagire con il sistema di raggruppamento delle schede del browser. Puoi utilizzare questa API per modificare e riorganizzare i gruppi di schede nel browser. Per raggruppare e separare le schede o per eseguire query sulle schede presenti nei gruppi, utilizza l'API chrome.tabs.

tabs

Utilizza l'API chrome.tabs per interagire con il sistema di schede del browser. Puoi utilizzare questa API per creare, modificare e riorganizzare le schede nel browser.

topSites

Utilizza l'API chrome.topSites per accedere ai siti più visitati visualizzati nella pagina Nuova scheda. Queste non includono le scorciatoie personalizzate dall'utente.

tts

Utilizza l'API chrome.tts per riprodurre la sintesi vocale (TTS) sintetizzata. Consulta anche l'API ttsEngine correlata, che consente a un'estensione di implementare un motore di sintesi vocale.

ttsEngine

Utilizza l'API chrome.ttsEngine per implementare un motore di sintesi vocale(TTS) utilizzando un'estensione. Se la tua estensione si registra utilizzando questa API, riceverà eventi contenenti un'espressione da pronunciare e altri parametri quando un'estensione o un'app di Chrome utilizza l'API tts per generare la sintesi vocale. L'estensione può quindi utilizzare qualsiasi tecnologia web disponibile per sintetizzare e generare l'output vocale e inviare eventi alla funzione chiamante per segnalare lo stato.

types

L'API chrome.types contiene dichiarazioni di tipo per Chrome.

userScripts
Chrome 120+ browser.* da Chrome 148 MV3+

Utilizza l'API userScripts per eseguire gli script utente nel contesto degli script utente.

vpnProvider
Chrome 43 e versioni successive browser.* da Chrome 148 Solo ChromeOS

Utilizza l'API chrome.vpnProvider per implementare un client VPN.

Chrome 43 e versioni successive browser.* da Chrome 148 Solo ChromeOS

Utilizza l'API chrome.wallpaper per modificare lo sfondo di ChromeOS.

webAuthenticationProxy
Chrome 115+ browser.* da Chrome 148 MV3+

L'API chrome.webAuthenticationProxy consente al software Remote Desktop in esecuzione su un host remoto di intercettare le richieste dell'API Web Authentication (WebAuthn) per gestirle su un client locale.

webNavigation

Utilizza l'API chrome.webNavigation per ricevere notifiche sullo stato delle richieste di navigazione in corso.

webRequest

Utilizza l'API chrome.webRequest per osservare e analizzare il traffico e per intercettare, bloccare o modificare le richieste in corso.

windows

Utilizza l'API chrome.windows per interagire con le finestre del browser. Puoi utilizzare questa API per creare, modificare e riorganizzare le finestre nel browser.