externally_connectable

"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

這不會影響內容指令碼。