La propriété de fichier manifeste "externally_connectable" indique les extensions et les pages Web autorisées à se connecter à votre extension à l'aide de runtime.connect() et runtime.sendMessage().
Pour un tutoriel sur le transfert de messages, consultez Messagerie entre extensions et Envoi de messages à partir de pages Web.
Se connecter sans externally_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 le peut. 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. Cela peut avoir des conséquences imprévues. Gardez-le donc à l'esprit.
Fichier manifeste
{
"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
},
...
}
Référence
La clé de fichier manifeste "externally_connectable" inclut les propriétés facultatives suivantes :
"ids"- ID des extensions autorisées à se connecter. Si ce champ est vide ou non spécifié, aucune extension ni application ne peut se connecter. Le caractère générique
"*"autorisera la connexion de toutes les extensions et applications. "matches"- Les formats de correspondance pour les pages Web autorisées à se connecter. Si ce champ est vide ou non spécifié, aucune page Web ne peut se connecter.
"accepts_tls_channel_id"- Permet à l'extension d'utiliser l'ID de canal TLS de la page Web qui s'y connecte. La page Web doit également choisir d'envoyer l'ID de canal TLS à l'extension en définissant
includeTlsChannelIdsurtruedans connectInfo de runtime.connect ou options de runtime.sendMessage. Si la valeur est définie surfalse, runtime.MessageSender.tlsChannelId ne sera jamais défini, quelles que soient les circonstances.
Cela n'a pas d'incidence sur les scripts de contenu.