externally_connectable

"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

這不會影響內容指令碼。