Свойство манифеста "externally_connectable" определяет, какие расширения и веб-страницы могут подключаться к вашему расширению с помощью runtime.connect() и runtime.sendMessage() .
Инструкции по передаче сообщений см. в разделах «Передача сообщений между расширениями» и «Отправка сообщений с веб-страниц» .
Подключаться без возможности внешнего подключения
Если ключ externally_connectable не указан в манифесте вашего расширения, все расширения смогут подключаться, но веб-страницы — нет. В результате, при обновлении манифеста для использования externally_connectable , если не указан "ids": ["*"] , другие расширения потеряют возможность подключаться к вашему расширению. Это может быть непредвиденным последствием, поэтому имейте это в виду.
Манифест
{
"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
},
...
}
Ссылка
Ключ манифеста "externally_connectable" включает следующие необязательные свойства:
-
"ids" - Идентификаторы расширений, которым разрешено подключаться. Если поле оставить пустым или не указано, никакие расширения или приложения не смогут подключиться. Символ подстановки
"*"разрешит подключение всем расширениям и приложениям. -
"matches" - Шаблоны соответствия для веб-страниц , которым разрешено подключаться. Если оставить поле пустым или не указать параметры, подключение веб-страниц будет невозможно.
-
"accepts_tls_channel_id" - Позволяет расширению использовать идентификатор TLS-канала веб-страницы, подключающейся к нему. Веб-страница также должна выбрать отправку идентификатора TLS-канала расширению, установив параметр
includeTlsChannelIdвtrueв методе connectInfo объекта runtime.connect или в параметрах объекта runtime.sendMessage. Если установлено значениеfalse, параметр runtime.MessageSender.tlsChannelId никогда не будет установлен ни при каких обстоятельствах.
Это не влияет на скрипты контента.