externally_connectable

型別 Object
必填
Manifest 版本 2 或更高
示例
json
"externally_connectable": {
  "ids": [
    "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
    "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
    "cccccccccccccccccccccccccccccccc"
  ],
  "matches": [
    "https://example1.com/*",
    "*://*.example2.com/*"
  ]
}

Externally connectable 控制哪些其他擴充套件和網頁可以使用 runtime.connect()runtime.sendMessage() 訊息傳遞與擴充套件進行通訊。如果未指定 externally_connectable,則所有擴充套件都可以相互通訊,但不能與網頁通訊。

注意: 與網頁通訊

  • 在 Chrome 中,使用 chrome.runtime.connectchrome.runtime.sendMessage。這些方法僅在至少有一個擴充套件程式正在偵聽訊息時可用,有關更多詳細資訊,請參閱 Chrome 106 中 chrome.runtime 將不再無條件定義
  • 在 Safari 中,使用 browser.runtime.connectbrowser.runtime.sendMessage
  • 在 Firefox 中,不支援這兩個 API。請參閱 Firefox bug 1319168

"ids" 屬性

ids 允許此擴充套件程式與指定了擴充套件程式識別符號的其他已安裝擴充套件程式之間進行通訊。使用 "*" 模式可與所有擴充套件程式進行通訊。

"matches" 屬性

matches 是一個正則表示式列表,允許擴充套件程式與與該表示式匹配的網頁之間進行通訊。

注意: 如果未指定 externally_connectable,則允許擴充套件程式之間的通訊,如同 externally_connectable 指定了 {"ids": ["*"] }。因此,如果您指定了 externally_connectable.matches,請不要忘記新增 ids(如果您想與其他擴充套件程式通訊)。

瀏覽器相容性