externally_connectable

La proprietà del manifest "externally_connectable" dichiara quali estensioni e pagine web possono connettersi alla tua estensione utilizzando runtime.connect() e runtime.sendMessage().

Per un tutorial sul passaggio dei messaggi, consulta Messaggi tra estensioni e invio di messaggi dalle pagine web.

Connetti senza externally_connectable

Se la chiave externally_connectable non viene dichiarata nel manifest dell'estensione, tutte le estensioni possono connettersi, ma nessuna pagina web può farlo. Di conseguenza, quando aggiorni il manifest per utilizzare externally_connectable, se "ids": ["*"] non viene specificato, le altre estensioni non potranno più connettersi alla tua estensione. Questa potrebbe essere una conseguenza indesiderata, quindi tienila presente.

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 del manifest "externally_connectable" include le seguenti proprietà facoltative:

"ids"
Gli ID delle estensioni che possono connettersi. Se lasciato vuoto o non specificato, nessuna estensione o app può connettersi. Il carattere jolly "*" consentirà a tutte le estensioni e le app di connettersi.
"matches"
I pattern di corrispondenza per le pagine web che possono connettersi. Se lasciato vuoto o non specificato, nessuna pagina web può connettersi.
"accepts_tls_channel_id"
Consente all'estensione di utilizzare l'ID canale TLS della pagina web che si connette. La pagina web deve anche scegliere di inviare l'ID canale TLS all'estensione impostando includeTlsChannelId su true in 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.