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"
接続が許可されたウェブページの URL パターン。空白または未指定の場合、どのウェブページも接続できません。パターンにワイルドカード ドメインや(有効な)トップレベル ドメインのサブドメインを含めることはできません。次に例を示します。
をご覧ください。
✅ 有効な URL ❌ 無効な URL
*://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 のオプションincludeTlsChannelIdtrue に設定します。false に設定した場合、 runtime.MessageSender.tlsChannelId は、どのような状況でも設定されません。

コンテンツ スクリプトには影響しません。