externally_connectable

A propriedade de manifesto "externally_connectable" declara quais extensões e páginas da Web podem conecte-se à extensão usando runtime.connect() e runtime.sendMessage().

Para acessar um tutorial sobre a transmissão de mensagens, consulte mensagens entre extensões e envio de mensagens em páginas da Web.

Conectar sem external_connectable

Se a chave externally_connectable não for declarada no manifesto da extensão, todas as extensões poderão se conectar, mas nenhuma página da Web poderá se conectar. Como consequência, ao atualizar o manifesto para usar externally_connectable, se "ids": ["*"] não for especificado, outras extensões serão não será mais possível se conectar à extensão. Esta pode ser uma consequência não intencional, portanto, mantenha em mente.

Manifesto

{
  "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
  },
  ...
}

Referência

A chave de manifesto "externally_connectable" inclui as seguintes propriedades opcionais:

"ids"
Os IDs das extensões que podem se conectar. Se deixado em branco ou não especificado, nenhuma extensão ou aplicativo poderá se conectar. O caractere curinga "*" permite que todas as extensões e apps se conectem.
"matches"
Os padrões de URL das páginas da Web que têm permissão para se conectar. Se deixado em branco ou não especificado, nenhuma página da Web poderá se conectar. Os padrões não podem incluir domínios com caracteres curinga nem subdomínios de domínios de nível superior(efetivos), por exemplo:
✅ URLs válidos ❌ URLs inválidos
*://example.com/ *://example.com/one/
http://*.example.org/* <all_urls>
https://example.com/* http://*/*
"accepts_tls_channel_id"
Permite que a extensão use o ID do canal TLS da página da Web conectada a ela. A página da Web também precisa enviar o ID do canal TLS para a extensão configurando includeTlsChannelId para true nas opções connectInfo ou de runtime.sendMessage. Se definido como false, O runtime.MessageSender.tlsChannelId nunca será definido em nenhuma circunstância.

Isso não afeta scripts de conteúdo.