ویژگی مانیفست "externally_connectable" اعلام میکند که کدام افزونهها و صفحات وب میتوانند با استفاده از runtime.connect() و runtime.sendMessage() به افزونه شما متصل شوند.
برای آموزش انتقال پیام، به پیامرسانی بین افزونهها و ارسال پیام از صفحات وب مراجعه کنید.
بدون اتصال خارجی متصل شوید
اگر کلید 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" - شناسههای افزونههایی که مجاز به اتصال هستند. اگر خالی یا نامشخص باقی بمانند، هیچ افزونه یا برنامهای نمیتواند متصل شود. علامت
"*"به همه افزونهها و برنامهها اجازه اتصال میدهد. -
"matches" - الگوهای تطبیق برای صفحات وبی که مجاز به اتصال هستند. اگر خالی یا نامشخص باقی بمانند، هیچ صفحه وبی نمیتواند متصل شود.
-
"accepts_tls_channel_id" - افزونه را قادر میسازد تا از شناسه کانال TLS صفحه وب متصل به آن استفاده کند. صفحه وب همچنین باید با تنظیم
includeTlsChannelIdرویtrueدر گزینههای connectInfo از runtime.connect یا runtime.sendMessage از runtime.connect، شناسه کانال TLS را به افزونه ارسال کند. اگر رویfalseتنظیم شود، runtime.MessageSender.tlsChannelId تحت هیچ شرایطی هرگز تنظیم نخواهد شد.
این تاثیری بر اسکریپتهای محتوا ندارد.