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
sutrue
nelle connectInfo di runtime.connect o nelle opzioni di runtime.sendMessage. Se impostato sufalse
, runtime.MessageSender.tlsChannelId non verrà mai impostato in nessuna circostanza.
Questa operazione non influisce sugli script di contenuti.