"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 を使用できるようにします。また、ウェブページでは、runtime.connect の connectInfo または runtime.sendMessage の オプションで
includeTlsChannelId
をtrue
に設定して、拡張機能に TLS チャネル ID を送信する必要があります。false
に設定すると、どのような状況でも runtime.MessageSender.tlsChannelId が設定されることはありません。
コンテンツ スクリプトには影響しません。