De externally_connectable
manifesteigenschap geeft aan welke extensies, apps en webpagina's verbinding kunnen maken met uw app via runtime.connect
en runtime.sendMessage
.
Voor een tutorial over het doorgeven van berichten, zie cross-extensie en app-berichten en berichten verzenden vanaf webpagina's .
Verbinden zonder extern_connectable
Als externally_connectable
niet is gedeclareerd in het manifest van uw app, kunnen alle extensies en apps verbinding maken, maar kunnen geen webpagina's verbinding maken. Als gevolg hiervan, wanneer u uw manifest bijwerkt om externally_connectable
te gebruiken, en "ids": ["*"]
niet is opgegeven, verliezen andere extensies en apps de mogelijkheid om verbinding te maken met uw app. Dit kan een onbedoeld gevolg zijn, dus houd hier rekening mee.
Voorbeeld van manifest.json
{
"name": "My externally connectable app",
"externally_connectable": {
// Extension and app IDs. If this field is not specified, no
// extensions or apps can connect.
"ids": [
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
...
// Alternatively, to match all extensions and apps, specify only
// "*".
"*"
],
// Match patterns for web pages. Does not affect content scripts.
// If this field is not specified, no webpages can connect.
"matches": [
"https://*.google.com/*",
"*://*.chromium.org/*",
...
],
// Indicates that the extension would like to make use of the TLS
// channel ID of the web page connecting to it. The web page must
// also opt to send the TLS channel ID to the extension via setting
// includeTlsChannelId to true in runtime.connect's connectInfo
// or runtime.sendMessage's options.
"accepts_tls_channel_id": false
},
...
}
Referentie
De externally_connectable manifestsleutel kan de volgende eigenschappen hebben:
ids
(array van tekenreeksen) - optioneelDe ID's van extensies of apps die verbinding mogen maken. Als u dit leeg of niet specificeert, kunnen er geen extensies of apps verbinding maken.
Met het jokerteken
"*"
kunnen alle extensies en apps verbinding maken.matches
(array van string) - optioneelDe URL-patronen voor webpagina's die verbinding mogen maken. Dit heeft geen invloed op inhoudsscripts. Indien leeg of niet gespecificeerd, kunnen geen webpagina's verbinding maken.
Patronen kunnen geen wildcarddomeinen of subdomeinen van (effectieve) topniveaudomeinen bevatten;
*://google.com/*
enhttps://*.chromium.org/*
zijn geldig, terwijl<all_urls>
,https://*/*
,*://*.com/*
en zelfshttps://*.appspot.com/*
zijn dat niet.accepts_tls_channel_id
(booleaans) - optioneelIndien
true
, zullen berichten die worden verzonden viaruntime.connect
ofruntime.sendMessage
runtime.MessageSender.tlsChannelId
instellen als deze methoden daarom vragen. Indienfalse
, zalruntime.MessageSender.tlsChannelId
onder geen enkele omstandigheid worden ingesteld.