La propriété du fichier manifeste externally_connectable
déclare les extensions, les applications et les pages Web qui peuvent
connectez-vous à votre application via runtime.connect
et runtime.sendMessage
.
Pour accéder à un tutoriel sur la transmission de messages, consultez les articles sur la messagerie entre les extensions et les applications et sur l'envoi de messages à partir de pages Web.
Se connecter sans external_connectable
Si externally_connectable
n'est pas déclaré dans le fichier manifeste de votre appli, toutes les extensions et applis peuvent
se connectent, mais aucune page Web ne peut se connecter. Par conséquent, lorsque vous mettez à jour votre fichier manifeste afin d'utiliser
externally_connectable
, si "ids": ["*"]
n'est pas spécifié, les autres extensions et applications
ne pourra plus se connecter à votre application. Il peut s'agir d'une conséquence involontaire, alors gardez-le à l'esprit.
Exemple de fichier 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
},
...
}
Référence
La clé du fichier manifeste external_connectable peut avoir les propriétés suivantes:
ids
(tableau de chaînes) : facultatifIdentifiants des extensions ou applications autorisées à se connecter. Si le champ n'est pas renseigné ou si aucune valeur n'est spécifiée, aucune les extensions ou les applications peuvent se connecter.
Le caractère générique
"*"
permet à toutes les extensions et applications de se connecter.matches
(tableau de chaînes) : facultatifFormats d'URL des pages Web autorisées à se connecter. Cela n'affecte pas le contenu scripts. Si ce champ n'est pas spécifié, aucune page Web ne peut se connecter.
Les formats ne peuvent pas inclure de domaines avec des caractères génériques ni de sous-domaines de domaines de premier niveau(effectifs).
*://google.com/*
ethttps://*.chromium.org/*
sont valides, tandis que<all_urls>
,https://*/*
,*://*.com/*
et mêmehttps://*.appspot.com/*
ne le sont pas.accepts_tls_channel_id
(booléen) : facultatifSi la valeur est
true
, les messages envoyés viaruntime.connect
ouruntime.sendMessage
seront définisruntime.MessageSender.tlsChannelId
si ces méthodes le demandent. Si la valeur estfalse
,runtime.MessageSender.tlsChannelId
ne sera en aucun cas défini.