Formato file manifest

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"]
}
{
  "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