externally_connectable マニフェスト プロパティは、許可する拡張機能、アプリ、ウェブページを宣言します。
runtime.connect と runtime.sendMessage を使用して拡張機能に接続します。
メッセージの受け渡しに関するチュートリアルについては、クロス拡張機能とアプリ メッセージングとメッセージの送信をご覧ください。 ウェブページから削除します
external_connectable を使用せずに接続する
拡張機能のマニフェストで externally_connectable が宣言されていない場合、すべての拡張機能とアプリ
接続できるものの、ウェブページが接続できません。そのためマニフェストを更新して
externally_connectable: "ids": ["*"] を指定しなかった場合、他の拡張機能やアプリは次のようになります。
拡張機能に接続できなくなります。これは意図しない結果である可能性があるため、
考えています
manifest.json の例
{
  "name": "My externally connectable extension",
  "externally_connectable": {
    // Extension and app IDs. If this field is not specified, no
    // extensions or apps can connect.
    "ids": [
      "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
      "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
      ...
      // Alternatively, to match all extensions and apps, specify only
      // "*".
      "*"
    ],
    // Match patterns for web pages. Does not affect content scripts.
    // If this field is not specified, no webpages can connect.
    "matches": [
      "https://*.google.com/*",
      "*://*.chromium.org/*",
      ...
    ],
    // Indicates that the extension would like to make use of the TLS
    // channel ID of the web page connecting to it. The web page must
    // also opt to send the TLS channel ID to the extension via setting
    // includeTlsChannelId to true in runtime.connect's connectInfo
    // or runtime.sendMessage's options.
    "accepts_tls_channel_id": false
  },
  ...
}
リファレンス
external_connectable マニフェスト キーには、次のプロパティを設定できます。
- ids(文字列の配列) - 省略可- 接続が許可された拡張機能またはアプリの ID。空白または未指定の場合は、 拡張機能やアプリが接続できるようになります - ワイルドカード - "*"は、すべての拡張機能とアプリの接続を許可します。
- matches(文字列の配列) - 省略可- 接続が許可されるウェブページの URL パターン。コンテンツへの影響はありません。 スクリプト。空白または未指定の場合、どのウェブページも接続できません。 - パターンにワイルドカード ドメインや(有効な)トップレベル ドメインのサブドメインを含めることはできません。 - *://google.com/*と- http://*.chromium.org/*は有効です。一方、- <all_urls>、- http://*/*、- *://*.com/*、さらには- http://*.appspot.com/*は一致しません。
- accepts_tls_channel_id(ブール値) - 省略可- trueの場合、runtime.connect または runtime.sendMessage 経由で送信されたメッセージが設定されます。 runtime.MessageSender.tlsChannelId(これらのメソッドがリクエストした場合)。- falseの場合、 runtime.MessageSender.tlsChannelId は、どのような状況でも設定されません。