externally_connectable

La proprietà manifest "externally_connectable" dichiara quali estensioni e pagine web possono collegarsi all'estensione utilizzando runtime.connect() e runtime.sendMessage().

Per un tutorial sulla trasmissione dei messaggi, vedi Messaggi con più estensioni e Invio di messaggi da pagine web.

Connetti senza external_connectable

Se la chiave externally_connectable non viene dichiarata nel file manifest dell'estensione, tutte le estensioni possono connettersi, ma nessuna pagina web può connettersi. Di conseguenza, quando aggiorni il file manifest per utilizzare externally_connectable, se "ids": ["*"] non è specificato, le altre estensioni perderanno la possibilità di connettersi alla tua estensione. Questa potrebbe essere una conseguenza involontaria, quindi tienila a mente.

Manifest

{
  "name": "My externally connectable extension",
  "externally_connectable": {
    "ids": [
      "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
      "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
      ...
    ],
    // If this field is not specified, no web pages can connect.
    "matches": [
      "https://*.google.com/*",
      "*://*.chromium.org/*",
      ...
    ],
    "accepts_tls_channel_id": false
  },
  ...
}

Riferimento

La chiave manifest "externally_connectable" include le seguenti proprietà facoltative:

"ids"
Gli ID delle estensioni a cui è consentito connettersi. Se il campo viene lasciato vuoto o non specificato, nessuna estensione o app può connettersi. Il carattere jolly "*" consentirà la connessione di tutte le estensioni e le app.
"matches"
I pattern URL per le pagine web a cui è consentito connettersi. Se il campo viene lasciato vuoto o non specificato, nessuna pagina web può connettersi. I pattern non possono includere domini con caratteri jolly né sottodomini di domini di primo livello(efficaci), ad esempio:
✅ URL validi ❌ URL non validi
*://example.com/ *://example.com/one/
http://*.example.org/* <all_urls>
https://example.com/* http://*/*
"accepts_tls_channel_id"
Consente all'estensione di utilizzare l'ID canale TLS della pagina web che si collega all'estensione. La pagina web deve anche scegliere di inviare l'ID canale TLS all'estensione impostando includeTlsChannelId su true nelle connectInfo di runtime.connect o nelle opzioni di runtime.sendMessage. Se impostato su false, runtime.MessageSender.tlsChannelId non verrà mai impostato in nessuna circostanza.

Questa operazione non influisce sugli script di contenuti.