"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"
- 获得连接的扩展程序的 ID。如果留空或未指定,任何扩展程序或应用都无法连接。通配符
"*"
将允许所有扩展程序和应用进行连接。 "matches"
- 允许连接的网页的网址格式。如果留空或未指定,任何网页都无法连接。格式不得包含通配符网域或(有效)顶级网域的子网域,例如 :
✅ 有效网址 | ❌ 无效网址 |
---|---|
*://example.com/ |
*://example.com/one/ |
http://*.example.org/* |
<all_urls> |
https://example.com/* |
http://*/* |
"accepts_tls_channel_id"
- 允许扩展程序使用与其连接的网页的 TLS 通道 ID。网页还必须选择向扩展程序发送 TLS 通道 ID,具体方法是:
在 Runtime.connect 的 connectInfo 或 runtime.sendMessage 的选项中将
includeTlsChannelId
设置为true
。如果设为false
, 在任何情况下,都绝不会设置 runtime.MessageSender.tlsChannelId。
这不会影响内容脚本。