"externally_connectable"
資訊清單屬性使用 runtime.connect()
和 runtime.sendMessage()
宣告哪些擴充功能和網頁可以連線至您的擴充功能。
如需傳遞訊息的教學課程,請參閱跨擴充功能訊息和從網頁傳送訊息。
不使用 external_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"
- 允許連線的網頁網址模式。如果留空或未指定數量,系統就不會連線到任何網頁。模式不得包含萬用字元網域或「(有效) 頂層網域」的子網域,例如:
✅ 有效網址 | ❌ 網址無效 |
---|---|
*://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 的 options 中將
includeTlsChannelId
設為true
。如果設為false
,則無論任何情況下,系統一律不會設定 runtime.MessageSender.tlsChannelId。
這不會影響內容指令碼。