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