Die Manifest-Property externally_connectable
deklariert, welche Erweiterungen, Apps und Webseiten
Stellen Sie über runtime.connect und runtime.sendMessage eine Verbindung zu Ihrer Erweiterung her.
Eine Anleitung zur Weitergabe von Nachrichten finden Sie unter Erweiterungs- und App-übergreifende Nachrichtenübermittlung und Nachrichten senden von Webseiten.
Verbindung ohne „external_connectable“ herstellen
Wenn externally_connectable
nicht im Manifest Ihrer Erweiterung deklariert ist, werden alle Erweiterungen und Apps
kann eine Verbindung herstellen, aber keine Webseiten. Wenn Sie Ihr Manifest aktualisieren,
externally_connectable
, wenn "ids": ["*"]
nicht angegeben ist, werden andere Erweiterungen und Apps
können Sie keine Verbindung mehr mit Ihrer Erweiterung herstellen. Dies könnte eine unbeabsichtigte Folge sein, also belassen Sie es im Hinterkopf,
denken.
Beispielmanifest.json
{
"name": "My externally connectable extension",
"externally_connectable": {
// Extension and app IDs. If this field is not specified, no
// extensions or apps can connect.
"ids": [
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
...
// Alternatively, to match all extensions and apps, specify only
// "*".
"*"
],
// Match patterns for web pages. Does not affect content scripts.
// If this field is not specified, no webpages can connect.
"matches": [
"https://*.google.com/*",
"*://*.chromium.org/*",
...
],
// Indicates that the extension would like to make use of the TLS
// channel ID of the web page connecting to it. The web page must
// also opt to send the TLS channel ID to the extension via setting
// includeTlsChannelId to true in runtime.connect's connectInfo
// or runtime.sendMessage's options.
"accepts_tls_channel_id": false
},
...
}
Referenz
Der Manifestschlüssel „external_connectable“ kann die folgenden Attribute haben:
ids
(Array von String) – optionalDie IDs der Erweiterungen oder Apps, die eine Verbindung herstellen dürfen. Wenn leer oder nicht angegeben, nein oder Apps eine Verbindung herstellen können.
Mit dem Platzhalter „
"*"
“ können alle Erweiterungen und Apps eine Verbindung herstellen.matches
(Array von String) – optionalDie URL-Muster für Webseiten, die eine Verbindung herstellen dürfen. Dies hat keine Auswirkungen auf die Inhalte. Skripts erstellt. 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.
*://google.com/*
undhttp://*.chromium.org/*
sind gültig,<all_urls>
,http://*/*
,*://*.com/*
und sogarhttp://*.appspot.com/*
nicht.accepts_tls_channel_id
(boolesch) – optionalBei
true
werden über runtime.connect oder runtime.sendMessage gesendete Nachrichten festgelegt runtime.MessageSender.tlsChannelId, wenn diese Methoden dies anfordern. Wennfalse
, runtime.MessageSender.tlsChannelId wird unter keinen Umständen festgelegt.