externally_connectable

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 sur true dans les options de Runtime.connect connectInfo ou de runtime.sendMessage. Si la valeur est false, runtime.MessageSender.tlsChannelId ne sera jamais défini.

Cela n'affecte pas les scripts de contenu.