"externally_connectable" 清单属性用于声明哪些扩展程序和网页可以使用 runtime.connect() 和 runtime.sendMessage() 连接到您的扩展程序。
如需查看有关消息传递的教程,请参阅跨扩展程序的消息传递和从网页发送消息。
连接到没有 externally_connectable 的运行时
如果扩展程序的清单中未声明 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"- 允许连接的扩展程序的 ID。如果留空或未指定,则任何扩展程序或应用都无法连接。通配符
"*"将允许所有扩展程序和应用进行连接。 "matches"- 允许连接的网页的匹配模式。如果留空或未指定,则任何网页都无法连接。
"accepts_tls_channel_id"- 允许扩展程序使用连接到它的网页的 TLS 通道 ID。网页还必须通过在 runtime.connect 的 connectInfo 或 runtime.sendMessage 的 options 中将
includeTlsChannelId设置为true,选择向扩展程序发送 TLS 渠道 ID。如果设置为false,则在任何情况下都不会设置 runtime.MessageSender.tlsChannelId。
这不会影响内容脚本。