"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。網頁也必須將 TLS 頻道 ID 傳送給擴充功能,方法是在 runtime.connect 的 connectInfo 或 runtime.sendMessage 的 options 中,將
includeTlsChannelId設為true。如果設為false,在任何情況下都不會設定 runtime.MessageSender.tlsChannelId。
這不會影響內容指令碼。