Właściwość manifestu "externally_connectable"
deklaruje, które rozszerzenia i strony internetowe mogą połączyć się z rozszerzeniem za pomocą narzędzi runtime.connect()
i runtime.sendMessage()
.
Aby uzyskać samouczek na temat przekazywania wiadomości, zapoznaj się z artykułami na temat wysyłania wiadomości między rozszerzeniami i wysyłaniem wiadomości ze stron internetowych.
Połącz bez połączenia z zewnątrz
Jeśli klucz externally_connectable
nie jest zadeklarowany w pliku manifestu rozszerzenia, wszystkie rozszerzenia mogą się łączyć, ale żadne strony internetowe nie mogą nawiązać połączenia. W rezultacie, gdy aktualizujesz plik manifestu, aby używał externally_connectable
, jeśli nie określisz wartości "ids": ["*"]
, inne rozszerzenia będą utracisz możliwość łączenia się z rozszerzeniem. Może to być niezamierzonym konsekwencją, dlatego zachowaj je umysł.
Plik manifestu
{ "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 }, ... }
Dokumentacja
Klucz manifestu "externally_connectable"
zawiera te opcjonalne właściwości:
"ids"
- Identyfikatory rozszerzeń, które mogą się łączyć. Jeśli pole pozostanie puste lub nieokreślone, żadne rozszerzenia ani aplikacje nie będą mogły się połączyć. Symbol wieloznaczny
"*"
umożliwia łączenie się wszystkich rozszerzeń i aplikacji. "matches"
- Wzorce adresów URL stron internetowych, które mogą się łączyć. Jeśli pole pozostanie puste lub nieokreślone, żadne strony internetowe nie będą mogły się połączyć. Wzorce nie mogą zawierać domen z symbolami wieloznacznymi ani subdomen (efektywnych) domen najwyższego poziomu, na przykład:
✅ Prawidłowe adresy URL | ❌ Nieprawidłowe URL-e |
---|---|
*://example.com/ | *://example.com/one/ |
http://*.example.org/* | <all_urls> |
https://example.com/* | http://*/* |
"accepts_tls_channel_id"
- Umożliwia rozszerzeniu używanie identyfikatora kanału TLS strony internetowej, która się z nią łączy. Strona internetowa musi też włączyć opcję wysłania identyfikatora kanału TLS do rozszerzenia, ustawiając odpowiednią opcję. Z
includeTlsChannelId
dotrue
w connectInfo lub opcjach środowiska runtime.connect. Jeśli ma wartośćfalse
, Parametr runtime.MessageSender.tlsChannelId nigdy nie zostanie ustawiony w żadnym przypadku.
Nie ma to wpływu na skrypty treści.