externally_connectable

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

Per un tutorial sulla trasmissione di messaggi, vedi Messaggistica con estensioni incrociate e Invio di messaggi dalle pagine web.

Connessione senza possibilità di collegamento esterno

Se la chiave externally_connectable non viene dichiarata nel file manifest dell'estensione, tutte le estensioni possono connettersi, ma non le pagine web. Di conseguenza, quando aggiorni il manifest per utilizzare externally_connectable, se "ids": ["*"] non è specificato, le altre estensioni verranno non potranno più connettersi all'estensione. Questa potrebbe essere una conseguenza involontaria, quindi mantienila 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 autorizzate a 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 delle 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 o sottodomini di domini di primo livello(effettivi), 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 vi si connette. La pagina web deve anche scegliere di inviare l'ID canale TLS all'estensione impostando includeTlsChannelId a 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.