externally_connectable

La propriété du fichier manifeste "externally_connectable" déclare les extensions et les pages Web pouvant se connecter à votre extension à l'aide de runtime.connect() et de runtime.sendMessage().

Pour accéder à un tutoriel sur la transmission de messages, consultez les sections Messages entre les 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 afin d'utiliser externally_connectable, si "ids": ["*"] n'est pas spécifié, les autres extensions ne pourra plus se connecter à votre extension. Il peut s'agir d'une conséquence inattendue. à 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é du fichier manifeste "externally_connectable" inclut les propriétés facultatives suivantes:

"ids"
Identifiants des extensions autorisées à se connecter. Si vous ne renseignez pas ce champ, aucune extension ni application ne peut se connecter. Le caractère générique "*" permet à toutes les extensions et applications de se connecter.
"matches"
Formats d'URL des pages Web autorisées à se connecter. 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), 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"
Permet à l'extension d'utiliser l'ID de canal TLS de la page Web qui y est associée. La page Web doit également choisir d'envoyer l'ID du canal TLS à l'extension en définissant includeTlsChannelId à true dans les options connectInfo de runtime.connect ou les options de runtime.sendMessage. Si défini sur false, runtime.MessageSender.tlsChannelId ne sera en aucun cas défini.

Cela n'affecte pas les scripts de contenu.