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
atrue
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.