La propiedad de manifiesto "externally_connectable"
declara qué extensiones y páginas web pueden
conectarse a tu extensión con runtime.connect()
y runtime.sendMessage()
.
Si deseas ver un instructivo sobre el envío de mensajes, consulta Mensajes de extensión cruzada y Cómo enviar mensajes desde páginas web.
Conectarse sin external_connectable
Si no se declara la clave externally_connectable
en el manifiesto de tu extensión, se pueden conectar todas las extensiones, pero ninguna página web puede conectarse. Como consecuencia, cuando actualices tu manifiesto para usar
externally_connectable
, si no se especifica "ids": ["*"]
, otras extensiones
ya no podrán conectarse a tu extensión. Esta puede ser una consecuencia no deseada, así que tenla en mente.
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 clave de manifiesto "externally_connectable"
incluye las siguientes propiedades opcionales:
"ids"
- Los ID de las extensiones que pueden conectarse. Si se deja vacío o no se especifica, no se podrá conectar ninguna extensión ni app. El comodín
"*"
permitirá que todas las extensiones y aplicaciones se conecten. "matches"
- Los patrones de URL de las páginas web que pueden conectarse. Si se deja vacía o no se especifica, no se podrá conectar ninguna página web. Los patrones no pueden incluir dominios comodín ni subdominios de dominios de nivel superior(en vigencia), por ejemplo:
✅ URLs válidas | ❌ URLs no válidas |
---|---|
*://example.com/ |
*://example.com/one/ |
http://*.example.org/* |
<all_urls> |
https://example.com/* |
http://*/* |
"accepts_tls_channel_id"
- Permite que la extensión use el ID del canal TLS de la página web que se conecta a ella. La página web también debe optar por enviar el ID de canal TLS a la extensión configurando
includeTlsChannelId
comotrue
en las connectInfo Si se configura enfalse
, runtime.MessageSender.tlsChannelId nunca se establecerá en ninguna circunstancia.
Esto no afecta las secuencias de comandos del contenido.