Ogni estensione deve avere un file manifest.json
nella directory radice che contiene informazioni importanti sulla struttura e sul comportamento dell'estensione. Questa pagina illustra la struttura dei file manifest delle estensioni e le relative funzionalità che possono includere.
Esempi
I seguenti esempi di manifest mostrano la struttura di base del manifest e alcuni funzionalità di uso comune come punto di partenza per creare il tuo manifest:
Manifest minimo
{ "manifest_version": 3, "name": "Minimal Manifest", "version": "1.0.0", "description": "A basic example extension with only required keys", "icons": { "48": "images/icon-48.png", "128": "images/icon-128.png" }, }
Registra uno script di contenuti
{ "manifest_version": 3, "name": "Run script automatically", "description": "Runs a script on www.example.com automatically when user installs the extension", "version": "1.0", "icons": { "16": "images/icon-16.png", "32": "images/icon-32.png", "48": "images/icon-48.png", "128": "images/icon-128.png" }, "content_scripts": [ { "js": [ "content-script.js" ], "matches": [ "http://*.example.com//" ] } ] }
Inserisci uno script dei contenuti
{ "manifest_version": 3, "name": "Click to run", "description": "Runs a script when the user clicks the action toolbar icon.", "version": "1.0", "icons": { "16": "images/icon-16.png", "32": "images/icon-32.png", "48": "images/icon-48.png", "128": "images/icon-128.png" }, "background": { "service_worker": "service-worker.js" }, "action": { "default_icon": { "16": "images/icon-16.png", "32": "images/icon-32.png", "48": "images/icon-48.png", "128": "images/icon-128.png" } }, "permissions": ["scripting", "activeTab"] }
Popup con autorizzazioni
{ "manifest_version": 3, "name": "Popup extension that requests permissions", "description": "Extension that includes a popup and requests host permissions and storage permissions .", "version": "1.0", "icons": { "16": "images/icon-16.png", "32": "images/icon-32.png", "48": "images/icon-48.png", "128": "images/icon-128.png" }, "action": { "default_popup": "popup.html" }, "host_permissions": [ "https://*.example.com/" ], "permissions": [ "storage" ] }
Riquadro laterale
{ "manifest_version": 3, "name": "Side panel extension", "version": "1.0", "description": "Extension with a default side panel.", "icons": { "16": "images/icon-16.png", "48": "images/icon-48.png", "128": "images/icon-128.png" }, "side_panel": { "default_path": "sidepanel.html" }, "permissions": ["sidePanel"] }
Chiavi manifest
Di seguito è riportato un elenco di tutte le chiavi manifest supportate.
Chiavi richieste dalla piattaforma Extensions
"manifest_version"
- Un numero intero che specifica la versione del formato del file manifest cui usi con le estensioni. L'unico valore supportato è
3
. "name"
- Una stringa che identifica l'estensione nel Chrome Web Store, la finestra di dialogo di installazione e la pagina Estensioni di Chrome dell'utente (
chrome://extensions
). La la lunghezza massima è di 75 caratteri. Per informazioni sull'utilizzo di nomi specifici per le impostazioni internazionali, consulta Internazionalizzazione. "version"
- Una stringa che identifica il numero di versione dell'estensione. Per informazioni su per la formattazione del numero di versione, vedi Versione.
Chiavi richieste dal Chrome Web Store
"description"
- Una stringa che descrive l'estensione sia sul Chrome Web Store sia sul pagina di gestione delle estensioni. La lunghezza massima è di 132 caratteri. Per informazioni sulla localizzazione delle descrizioni, consulta Internazionalizzazione.
"icons"
- Una o più icone che rappresentano l'estensione. Per informazioni sulle migliori consulta la sezione Icone.
Chiavi facoltative
"action"
- Definisce l'aspetto e il comportamento dell'icona dell'estensione nella sezione Barra degli strumenti. Per ulteriori informazioni, vedi
chrome.action
. "author"
- Specifica l'indirizzo email dell'account utilizzato per creare l'account .
"background"
- Specifica il file JavaScript contenente il service worker dell'estensione, che agisce come un gestore di eventi. Per ulteriori informazioni, consulta Informazioni sul servizio di estensione worker.
"chrome_settings_overrides"
- Definisci gli override per le impostazioni di Chrome selezionate. Per ulteriori informazioni, vedi Override delle impostazioni di Chrome.
"chrome_url_overrides"
- Definisci gli override per le pagine predefinite di Chrome. Per ulteriori informazioni, vedi Esegui l'override delle pagine di Chrome.
"commands"
- Definisci le scorciatoie da tastiera all'interno dell'estensione. Per ulteriori informazioni informazioni, consulta la pagina chrome.commands.
"content_scripts"
- Specifica i file JavaScript o CSS da utilizzare quando l'utente apre determinate pagine web pagine. Per ulteriori informazioni, consulta la sezione Script di contenuti.
"content_security_policy"
- Definisce limitazioni relative a script, stili e altre risorse di un'estensione che è possibile usare. Per maggiori informazioni, consulta le norme sulla sicurezza del contenuto.
"cross_origin_embedder_policy"
- Specifica un valore per l'intestazione HTTP Cross-Origin-Embedder-Policy, configura l'incorporamento di risorse multiorigine in una pagina di estensione.
"cross_origin_opener_policy"
- Specifica un valore per l'intestazione HTTP Cross-Origin-Opener-Policy, che consente ti assicuri che una pagina con estensione di primo livello non condivida un contesto di navigazione gruppo con documenti multiorigine.
"declarative_net_request"
- Definisce le regole statiche per declarativeNetRequest che consente di bloccare e modificare le richieste di rete.
"default_locale"
- Una stringa che definisce la lingua predefinita di un'estensione che supporta diverse impostazioni internazionali. Esempi: "en" e "pt_BR". Questa chiave è obbligatoria in localizzate e non devono essere utilizzate in estensioni non localizzate. Per saperne di più, vedi Internazionalizzazione.
"devtools_page"
- Definisce le pagine che utilizzano le API DevTools.
"export"
- Consente l'esportazione delle risorse dall'estensione. Per ulteriori informazioni, vedi Esporta.
"externally_connectable"
- Specifica quali altre pagine ed estensioni possono collegarsi alle tue estensioni. Per Per ulteriori informazioni, consulta
"externally_connectable"
. "homepage_url"
- Una stringa che specifica un URL per la home page dell'estensione. Se questo non è definito, Per impostazione predefinita, la home page mostra la pagina del Chrome Web Store dell'estensione. Questo campo è particolarmente utile se ospita l'estensione sul tuo sito.
"host_permissions"
- Elenca le pagine web con cui l'estensione può interagire, definite utilizzando Pattern di corrispondenza degli URL. L'autorizzazione dell'utente per questi siti è richiesta al momento dell'installazione nel tempo. Per ulteriori informazioni, vedi Autorizzazioni host.
"import"
- Consente l'importazione delle risorse nell'estensione. Per ulteriori informazioni, vedi Importa.
"incognito"
- Definisce il comportamento dell'estensione in modalità di navigazione in incognito. I valori supportati sono
"spanning"
,"split"
e"not_allowed"
. Per ulteriori informazioni, vedi In incognito. "key"
- Specifica l'ID dell'estensione per vari casi d'uso di sviluppo. Per ulteriori informazioni informazioni, vedi Chiave.
"minimum_chrome_version"
- Definisce la versione di Chrome meno recente su cui è possibile installare l'estensione. Il valore deve essere una sottostringa di una stringa di versione del browser Chrome esistente, come
"107"
o"107.0.5304.87"
. Utenti con versioni di Chrome precedenti alla alla versione minima, vedrai un errore "Non compatibile" nel Chrome Web Store e vengono impossibile installare l'estensione. Se la aggiungi a un'estensione esistente, utenti che hanno una versione di Chrome precedente non riceveranno aggiornamenti automatici su . Sono inclusi gli utenti aziendali in temporaneo. "oauth2"
- Consente l'utilizzo di un ID sicurezza OAuth 2.0. Il valore di questa chiave deve essere un con proprietà
"client_id"
e"scopes"
. Per maggiori dettagli, consulta la sezione OAuth 2.0. "omnibox"
- Consente all'estensione di registrare una parola chiave nella barra degli indirizzi di Chrome. Per ulteriori informazioni consulta la pagina Omnibox.
"optional_host_permissions"
- Dichiara l'host facoltativo autorizzazioni per l'estensione.
"optional_permissions"
- Dichiara le autorizzazioni facoltative per l'estensione.
"options_page"
- Specifica un percorso di un file options.html che l'estensione può utilizzare come file pagina delle opzioni. Per ulteriori informazioni, leggi l'articolo Fornire agli utenti opzioni.
"options_ui"
- Specifica un percorso di un file HTML che consente a un utente di modificare le opzioni di estensione dalla pagina Estensioni di Chrome. Per ulteriori informazioni, consulta la sezione Incorporati opzioni.
"permissions"
- Abilita l'uso di determinate API di estensione. Vedi Autorizzazioni per una spiegazione generale. Le pagine di riferimento per le singole API elencano le autorizzazioni di cui hanno bisogno.
"requirements"
- Elenca le tecnologie necessarie per utilizzare l'estensione. Per un elenco delle vedi i Requisiti.
"sandbox"
- Definisce un insieme di pagine di estensioni che non hanno accesso alle API delle estensioni o accesso diretto alle pagine senza sandbox. Per ulteriori informazioni, vedi Sandbox.
"short_name"
- Una stringa contenente una versione abbreviata del nome dell'estensione da utilizzare quando lo spazio di caratteri è limitato. La lunghezza massima è di 12 caratteri. Se si tratta di non definita, una versione troncata di "name" viene visualizzato.
"side_panel"
- Identifica un file HTML da visualizzare in un sidePanel.
"storage"
- Dichiara uno schema JSON per l'archiviazione gestita . Per ulteriori informazioni informazioni, consulta il file manifest per le aree di archiviazione.
"tts_engine"
- Registra l'estensione come motore di sintesi vocale. Per ulteriori informazioni, vedi l'API ttsEngine.
"update_url"
- Una stringa contenente l'URL della pagina degli aggiornamenti dell'estensione. Usa questa chiave se stai ospitando la tua estensione al di fuori del Chrome Web Store.
"version_name"
- Una stringa che descrive la versione dell'estensione. Gli esempi includono
"1.0 beta"
e"build rc2"
. Se questo valore non è specificato, la "versione" viene visualizzato nella pagina di gestione delle estensioni. "web_accessible_resources"
- Definisce i file all'interno dell'estensione a cui è possibile accedere da pagine web o da altri estensioni. Per ulteriori informazioni, consulta la sezione Accessibile dal web Risorse.
Chiavi ChromeOS facoltative
"file_browser_handlers"
- Fornisce l'accesso al
fileBrowserHandler
che consente alle estensioni di accedere al browser di file di ChromeOS. "file_handlers"
- Specifica i tipi di file che le estensioni di ChromeOS devono gestire. Per ulteriori informazioni, consulta
file_handlers
. "file_system_provider_capabilities"
- Consente l'accesso all'app
fileSystemProvider
che consente alle estensioni di creare file system utilizzabili da ChromeOS. "input_components"
- Consente di utilizzare l'API Input Method Editor. Per ulteriori informazioni, vedi
input_components