Per funzionare, la maggior parte delle estensioni ha bisogno di accedere a una o più API Chrome Extensions. Questo riferimento API descrive le API disponibili per l'utilizzo nelle estensioni e presenta esempi di casi d'uso.
Funzionalità comuni dell'API Extensions
Un'API Extensions è costituita da uno spazio dei nomi contenente metodi e proprietà per l'utilizzo delle estensioni e, in genere, ma non
sempre, da campi manifest per il file manifest.json. Ad esempio, lo spazio dei nomi chrome.action richiede un oggetto "action"
nel manifest. Molte API richiedono anche autorizzazioni nel manifest.
I metodi nelle API delle estensioni sono asincroni, se non diversamente indicato. 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.accessibilityFeaturesper gestire le funzionalità di accessibilità di Chrome. Questa API si basa sul prototipo ChromeSetting dell'API di tipo per ottenere e impostare singole funzionalità di accessibilità. Per ottenere gli stati delle funzionalità, l'estensione deve richiedere l'autorizzazioneaccessibilityFeatures.read. Per modificare lo stato della funzionalità, l'estensione richiede l'autorizzazioneaccessibilityFeatures.modify. Tieni presente cheaccessibilityFeatures.modifynon implica l'autorizzazioneaccessibilityFeatures.read.
- azione
- 
    Chrome 88+ MV3+Utilizza l'API chrome.actionper controllare l'icona dell'estensione nella barra degli strumenti di Google Chrome.
- alarms
- 
    
    Utilizza l'API chrome.alarmsper pianificare l'esecuzione del codice periodicamente o in un momento specifico in futuro.
- audio
- 
    Chrome 59+ Solo ChromeOSL'API chrome.audioviene 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.
- preferiti
- 
    
    Utilizza l'API chrome.bookmarksper creare, organizzare e manipolare i preferiti. Consulta anche Override Pages, che puoi utilizzare per creare una pagina personalizzata di Gestione preferiti.
- browsingData
- 
    
    Utilizza l'API chrome.browsingDataper rimuovere i dati di navigazione dal profilo locale di un utente.
- certificateProvider
- 
    Chrome 46+ Solo ChromeOSUtilizza 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.contentSettingsper modificare le impostazioni che controllano se i siti web possono utilizzare funzionalità come cookie, JavaScript e plug-in. In termini più generali, le impostazioni dei contenuti ti consentono di personalizzare il comportamento di Chrome in base al sito anziché a livello globale.
- contextMenus
- 
    
    Utilizza l'API chrome.contextMenusper aggiungere elementi al menu contestuale di Google Chrome. Puoi scegliere a quali tipi di oggetti si applicano le aggiunte al menu contestuale, ad esempio immagini, link ipertestuali e pagine.
- cookie
- 
    
    Utilizza l'API chrome.cookiesper eseguire query e modificare i cookie e per ricevere una notifica quando cambiano.
- debugger
- 
    
    L'API chrome.debuggerfunge da trasporto alternativo per il protocollo di debug remoto di Chrome. Utilizzachrome.debuggerper collegarti a una o più schede per instrumentare l'interazione di rete, eseguire il debug di JavaScript, modificare il DOM e CSS e altro ancora. Utilizza la proprietàDebuggeetabIdper scegliere come target le schede consendCommande indirizzare gli eventi in base atabIddai callbackonEvent.
- declarativeContent
- 
    
    Utilizza l'API chrome.declarativeContentper eseguire azioni a seconda dei contenuti di una pagina, senza richiedere l'autorizzazione a leggere i contenuti della pagina.
- declarativeNetRequest
- 
    Chrome 84 e versioni successiveL'API chrome.declarativeNetRequestviene 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.inspectedWindowper interagire con la finestra esaminata: ottieni l'ID scheda per la pagina esaminata, valuta il codice nel contesto della finestra esaminata, ricarica la pagina o ottieni l'elenco delle risorse all'interno della pagina.
- devtools.network
- 
    
    Utilizza l'API chrome.devtools.networkper recuperare le informazioni sulle richieste di rete visualizzate dagli Strumenti per sviluppatori nel riquadro Rete.
- devtools.panels
- 
    
    Utilizza l'API chrome.devtools.panelsper integrare l'estensione nell'interfaccia utente della finestra degli strumenti per sviluppatori: crea i tuoi pannelli, accedi a quelli esistenti e aggiungi barre laterali.
- devtools.performance
- 
    Chrome 129+Utilizza l'API chrome.devtools.performanceper ascoltare gli aggiornamenti dello stato di registrazione nel riquadro Prestazioni di DevTools.
- devtools.recorder
- 
    Chrome 105+Utilizza l'API chrome.devtools.recorderper personalizzare il riquadro Recorder in DevTools.
- dns
- 
    Canale DevUtilizza l'API chrome.dnsper la risoluzione DNS.
- documentScan
- 
    Chrome 44+ Solo ChromeOSUtilizza l'API chrome.documentScanper rilevare e recuperare immagini da scanner per documenti collegati.
- dom
- 
    Chrome 88+Utilizza l'API chrome.domper accedere alle API DOM speciali per le estensioni
- download
- 
    
    Utilizza l'API chrome.downloadsper avviare, monitorare, manipolare e cercare i download in modo programmatico.
- enterprise.deviceAttributes
- 
    Utilizza l'API chrome.enterprise.deviceAttributesper leggere gli attributi del dispositivo. Nota: questa API è disponibile solo per le estensioni installate forzatamente mediante criteri aziendali.
- enterprise.hardwarePlatform
- 
    Chrome 71+ Richiede criteriUtilizza l'API chrome.enterprise.hardwarePlatformper ottenere il produttore e il modello della piattaforma hardware in cui viene eseguito il browser. Nota: questa API è disponibile solo per le estensioni installate mediante criteri aziendali.
- enterprise.login
- 
    Utilizza l'API chrome.enterprise.loginper uscire dalle sessioni Ospite gestite. Nota: questa API è disponibile solo per le estensioni installate mediante criteri aziendali nelle sessioni Ospite gestite di ChromeOS.
- enterprise.networkingAttributes
- 
    Utilizza l'API chrome.enterprise.networkingAttributesper leggere informazioni sulla tua rete attuale. Nota: questa API è disponibile solo per le estensioni installate forzatamente mediante criteri aziendali.
- enterprise.platformKeys
- 
    Solo ChromeOS Richiede criteriUtilizza l'API chrome.enterprise.platformKeysper 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 altre estensioni tramite chrome.platformKeys.
- eventi
- 
    
    Lo spazio dei nomi chrome.eventscontiene tipi comuni utilizzati dalle API che inviano eventi per avvisarti quando si verifica qualcosa di interessante.
- extension
- 
    
    L'API chrome.extensiondispone 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 Trasmissione di messaggi.
- extensionTypes
- 
    
    L'API chrome.extensionTypescontiene dichiarazioni di tipo per le estensioni di Chrome.
- fileBrowserHandler
- 
    Solo ChromeOS Solo in primo pianoUtilizza l'API chrome.fileBrowserHandlerper 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 ChromeOSUtilizza l'API chrome.fileSystemProviderper creare file system accessibili da gestore di file su ChromeOS.
- fontSettings
- 
    
    Utilizza l'API chrome.fontSettingsper gestire le impostazioni dei caratteri di Chrome.
- gcm
- 
    
    Utilizza chrome.gcmper consentire ad app ed estensioni di inviare e ricevere messaggi tramite Firebase Cloud Messaging (FCM).
- cronologia
- 
    
    Utilizza l'API chrome.historyper interagire con il record delle pagine visitate del browser. Puoi aggiungere, rimuovere ed eseguire query per gli URL nella cronologia del browser. Per sostituire la pagina della cronologia con la tua versione, vedi Override delle pagine.
- i18n
- 
    
    Utilizza l'infrastruttura chrome.i18nper implementare l'internazionalizzazione in tutta l'app o l'estensione.
- identity
- 
    
    Utilizza l'API chrome.identityper ottenere i token di accesso OAuth2.
- idle
- 
    
    Utilizza l'API chrome.idleper rilevare quando cambia lo stato di inattività della macchina.
- input.ime
- 
    Solo ChromeOSUtilizza l'API chrome.input.imeper implementare un IME personalizzato per ChromeOS. In questo modo, l'estensione può gestire le sequenze di tasti, impostare la composizione e gestire la finestra dei candidati.
- instanceID
- 
    Chrome 44+Utilizza chrome.instanceIDper accedere al servizio ID istanza.
- loginState
- 
    Chrome 78+ Solo ChromeOSUtilizza l'API chrome.loginStateper leggere e monitorare lo stato di accesso.
- video
- 
    
    L'API chrome.managementoffre modi per gestire le app e le estensioni installate.
- notifications
- 
    
    Utilizza l'API chrome.notificationsper creare notifiche avanzate utilizzando i modelli e mostrare queste notifiche agli utenti nella barra delle notifiche.
- offscreen
- 
    Chrome 109+ MV3+Utilizza l'API offscreenper creare e gestire documenti fuori schermo.
- omnibox
- 
    
    L'API omnibox ti consente di registrare una parola chiave con la barra degli indirizzi di Google Chrome, nota anche come omnibox. 
- pageCapture
- 
    
    Utilizza l'API chrome.pageCaptureper salvare una scheda come MHTML.
- autorizzazioni
- 
    
    Utilizza l'API chrome.permissionsper richiedere le autorizzazioni facoltative dichiarate in fase di runtime anziché in fase di installazione, in modo che gli utenti comprendano perché sono necessarie le autorizzazioni e concedano solo quelle necessarie.
- platformKeys
- 
    Chrome 45+ Solo ChromeOSUtilizza l'API chrome.platformKeysper accedere ai certificati client gestiti dalla piattaforma. Se l'utente o il criterio concede l'autorizzazione, un'estensione può utilizzare questo certificato nel proprio protocollo di autenticazione personalizzato. Ad esempio, ciò consente l'utilizzo di certificati gestiti dalla piattaforma in VPN di terze parti (vedi chrome.vpnProvider).
- power
- 
    
    Utilizza l'API chrome.powerper ignorare le funzionalità di gestione dell'alimentazione del sistema.
- printerProvider
- 
    Chrome 44+L'API chrome.printerProviderespone gli eventi utilizzati da Print Manager 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 Solo ChromeOSUtilizza l'API chrome.printingper inviare processi di stampa alle stampanti installate su Chromebook.
- printingMetrics
- 
    Utilizza l'API chrome.printingMetricsper recuperare i dati sull'utilizzo della stampa.
- privacy
- 
    
    Utilizza l'API chrome.privacyper 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.
- processi
- 
    Canale DevUtilizza l'API chrome.processesper interagire con i processi del browser.
- proxy
- 
    
    Utilizza l'API chrome.proxyper gestire le impostazioni proxy di Chrome. Questa API si basa sul prototipo ChromeSetting dell'API di tipo per ottenere e impostare la configurazione del proxy.
- readingList
- 
    Chrome 120+ MV3+Utilizza l'API chrome.readingListper leggere e modificare gli elementi nell'elenco di lettura.
- runtime
- 
    
    Utilizza l'API chrome.runtimeper 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+ MV3+Utilizza l'API chrome.scriptingper eseguire script in contesti diversi.
- search
- 
    Chrome 87+Utilizza l'API chrome.searchper eseguire ricerche tramite il provider predefinito.
- sessioni
- 
    
    Utilizza l'API chrome.sessionsper eseguire query e ripristinare schede e finestre da una sessione di navigazione.
- sidePanel
- 
    Chrome 114+ MV3+Utilizza l'API chrome.sidePanelper ospitare contenuti nel riquadro laterale del browser insieme ai contenuti principali di una pagina web.
- storage
- 
    
    Utilizza l'API chrome.storageper archiviare, recuperare e monitorare le modifiche ai dati utente.
- system.cpu
- 
    
    Utilizza l'API system.cpuper eseguire query sui metadati della CPU.
- system.display
- 
    
    Utilizza l'API system.displayper eseguire query sui metadati di visualizzazione.
- system.memory
- 
    
    L'API chrome.system.memory.
- system.storage
- 
    
    Utilizza l'API chrome.system.storageper eseguire query sulle informazioni dei dispositivi di archiviazione e ricevere una notifica quando un dispositivo di archiviazione rimovibile viene collegato e scollegato.
- systemLog
- 
    Utilizza l'API chrome.systemLogper registrare i log di sistema di Chrome dalle estensioni.
- tabCapture
- 
    
    Utilizza l'API chrome.tabCaptureper interagire con gli stream multimediali delle schede.
- tabGroups
- 
    Chrome 89+ MV3+Utilizza l'API chrome.tabGroupsper 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'APIchrome.tabs.
- schede
- 
    
    Utilizza l'API chrome.tabsper 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.topSitesper accedere ai siti principali (ovvero i siti più visitati) visualizzati nella pagina Nuova scheda. Queste non includono le scorciatoie personalizzate dall'utente.
- tts
- 
    
    Utilizza l'API chrome.ttsper riprodurre la sintesi vocale (TTS) del testo. Vedi anche l'APIttsEnginecorrelata, che consente a un'estensione di implementare un motore di sintesi vocale.
- ttsEngine
- 
    
    Utilizza l'API chrome.ttsEngineper 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 Chrome utilizza l'APIttsper generare la sintesi vocale. L'estensione può quindi utilizzare qualsiasi tecnologia web disponibile per sintetizzare e riprodurre l'audio e inviare eventi alla funzione chiamante per segnalare lo stato.
- types
- 
    
    L'API chrome.typescontiene dichiarazioni di tipo per Chrome.
- userScripts
- 
    Chrome 120+ MV3+Utilizza l'API userScriptsper eseguire gli script utente nel contesto degli script utente.
- vpnProvider
- 
    Chrome 43+ Solo ChromeOSUtilizza l'API chrome.vpnProviderper implementare un client VPN.
- 
    Chrome 43+ Solo ChromeOSUtilizza l'API chrome.wallpaperper modificare lo sfondo di ChromeOS.
- webAuthenticationProxy
- 
    Chrome 115+ MV3+L'API chrome.webAuthenticationProxyconsente al software di desktop remoto 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.webNavigationper ricevere notifiche sullo stato delle richieste di navigazione in volo.
- webRequest
- 
    
    Utilizza l'API chrome.webRequestper osservare e analizzare il traffico e per intercettare, bloccare o modificare le richieste in transito.
- windows
- 
    
    Utilizza l'API chrome.windowsper interagire con le finestre del browser. Puoi utilizzare questa API per creare, modificare e riorganizzare le finestre nel browser.