La propriété du fichier manifeste "externally_connectable"
déclare les extensions et les pages Web qui peuvent se connecter à votre extension à l'aide de runtime.connect()
et runtime.sendMessage()
.
Pour accéder à un tutoriel sur la transmission de messages, consultez les sections Messages multi-extensions et Envoyer des messages à partir de pages Web.
Se connecter sans external_connectable
Si la clé externally_connectable
n'est pas déclarée dans le fichier manifeste de votre extension, toutes les extensions peuvent se connecter, mais aucune page Web ne peut se connecter. Par conséquent, lorsque vous mettez à jour votre fichier manifeste pour utiliser externally_connectable
, si "ids": ["*"]
n'est pas spécifié, les autres extensions ne pourront plus se connecter à votre extension. Gardez-le à l'esprit, car cette action peut avoir une conséquence inattendue.
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
},
...
}
Reference
La clé du fichier manifeste "externally_connectable"
inclut les propriétés facultatives suivantes:
"ids"
- ID des extensions autorisées à se connecter. Si ce champ n'est pas renseigné ou n'est pas spécifié, aucune extension ni application ne peut se connecter. Le caractère générique
"*"
permettra à toutes les extensions et applications de se connecter. "matches"
- Formats d'URL des pages Web autorisées à se connecter. Si vous ne renseignez pas ce champ ou n'est pas spécifié, aucune page Web ne peut être connectée. Les motifs ne peuvent pas inclure de domaines génériques ni de sous-domaines de domaines de premier niveau(effectifs), par exemple:
✅ URL valides | ❌ URL non valides |
---|---|
*://example.com/ |
*://example.com/one/ |
http://*.example.org/* |
<all_urls> |
https://example.com/* |
http://*/* |
"accepts_tls_channel_id"
- Autorise l'extension à utiliser l'ID de canal TLS de la page Web qui lui est associée. La page Web doit également choisir d'envoyer l'ID de canal TLS à l'extension en définissant
includeTlsChannelId
surtrue
dans les options de Runtime.connect connectInfo ou de runtime.sendMessage. Si la valeur estfalse
, runtime.MessageSender.tlsChannelId ne sera jamais défini.
Cela n'affecte pas les scripts de contenu.