"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 のオプションで
includeTlsChannelId
をtrue
に設定します。false
に設定した場合、 runtime.MessageSender.tlsChannelId は、どのような状況でも設定されません。
コンテンツ スクリプトには影響しません。