"externally_connectable" マニフェスト プロパティは、runtime.connect() と runtime.sendMessage() を使用してどの拡張機能とウェブページが拡張機能に
接続できるかを宣言します。
メッセージの受け渡しのチュートリアルについては、拡張機能間のメッセージングとウェブページからのメッセージの送信をご覧ください。
externally_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"- 接続を許可する ウェブページの照合パターン。空のままにするか指定しない場合、ウェブページは接続できません。
"accepts_tls_channel_id"- 拡張機能が接続先のウェブページの TLS チャネル ID を使用できるようにします。ウェブページは、TLS チャネル ID を拡張機能に送信するようにオプトインする必要があります。これには、runtime.connect の connectInfo または runtime.sendMessage の options で
includeTlsChannelIdをtrueに設定します。falseに設定すると、 runtime.MessageSender.tlsChannelId はどのような状況でも設定されません。
これはコンテンツ スクリプトには影響しません。