Die Manifest-Property "externally_connectable"
deklariert, welche Erweiterungen und Webseiten
stellen Sie mit runtime.connect()
und runtime.sendMessage()
eine Verbindung zu Ihrer Erweiterung her.
Eine Anleitung zur Nachrichtenweitergabe finden Sie unter Erweiterungsübergreifende Nachrichten und Nachrichten senden. von Webseiten.
Ohne „external_connectable“ verbinden
Wenn der externally_connectable
-Schlüssel im Manifest der Erweiterung nicht deklariert ist, können alle Erweiterungen eine Verbindung herstellen, aber keine Webseiten. Wenn Sie Ihr Manifest aktualisieren,
externally_connectable
: Wenn "ids": ["*"]
nicht angegeben ist, werden andere Erweiterungen
können Sie keine Verbindung mehr mit Ihrer Erweiterung herstellen. Dies könnte eine unbeabsichtigte Folge sein, also belassen Sie es im Hinterkopf,
denken.
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
},
...
}
Referenz
Der Manifestschlüssel "externally_connectable"
enthält die folgenden optionalen Attribute:
"ids"
- Die IDs der Erweiterungen, die eine Verbindung herstellen dürfen. Wenn das Feld leer oder nicht angegeben ist, können keine Erweiterungen oder Apps verbunden werden. Mit dem Platzhalter
"*"
können alle Erweiterungen und Apps eine Verbindung herstellen. "matches"
- Die URL-Muster für Webseiten, die eine Verbindung herstellen dürfen. Wenn das Feld leer oder nicht angegeben ist, können keine Webseiten verbunden werden. Muster dürfen keine Platzhalter-Domains oder Subdomains von (effektiven) Top-Level-Domains enthalten, zum Beispiel:
✅ Gültige URLs | ❌ Ungültige URLs |
---|---|
*://example.com/ |
*://example.com/one/ |
http://*.example.org/* |
<all_urls> |
https://example.com/* |
http://*/* |
"accepts_tls_channel_id"
- Damit kann die Erweiterung die TLS-Kanal-ID der Webseite verwenden, die eine Verbindung zu ihr herstellt. Auf der Webseite muss außerdem festgelegt werden, dass die TLS-Kanal-ID an die Erweiterung gesendet werden soll.
includeTlsChannelId
intrue
in den connectInfo von „runtime.connect“ oder in den Optionen von „runtime.sendMessage“. Wennfalse
festgelegt ist, gilt Folgendes: runtime.MessageSender.tlsChannelId wird unter keinen Umständen festgelegt.
Dies hat keine Auswirkungen auf Inhaltsskripte.