ویژگی مانیفست externally_connectable
اعلام میکند که کدام برنامههای افزودنی، برنامهها و صفحات وب میتوانند از طریق runtime.connect
و runtime.sendMessage
به برنامه شما متصل شوند.
برای آموزش ارسال پیام، به پیامرسانی و ارسال پیام از صفحات وب به برنامه افزودنی و پیامرسانی مراجعه کنید.
اتصال بدون خارجی_connectable
اگر externally_connectable
در مانیفست برنامه شما اعلام نشده باشد، همه برنامههای افزودنی و برنامهها میتوانند متصل شوند، اما هیچ صفحه وب نمیتواند متصل شود. در نتیجه، هنگام بهروزرسانی مانیفست خود برای استفاده از externally_connectable
، اگر "ids": ["*"]
مشخص نشده باشد، دیگر برنامههای افزودنی و برنامهها توانایی اتصال به برنامه شما را از دست خواهند داد. این ممکن است یک پیامد ناخواسته باشد، بنابراین آن را در نظر داشته باشید.
نمونه manifest.json
{
"name": "My externally connectable app",
"externally_connectable": {
// Extension and app IDs. If this field is not specified, no
// extensions or apps can connect.
"ids": [
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
...
// Alternatively, to match all extensions and apps, specify only
// "*".
"*"
],
// Match patterns for web pages. Does not affect content scripts.
// If this field is not specified, no webpages can connect.
"matches": [
"https://*.google.com/*",
"*://*.chromium.org/*",
...
],
// Indicates that the extension would like to make use of the TLS
// channel ID of the web page connecting to it. The web page must
// also opt to send the TLS channel ID to the extension via setting
// includeTlsChannelId to true in runtime.connect's connectInfo
// or runtime.sendMessage's options.
"accepts_tls_channel_id": false
},
...
}
مرجع
کلید مانیفست externally_connectable می تواند ویژگی های زیر را داشته باشد:
ids
(آرایه از رشته) - اختیاری استشناسه برنامههای افزودنی یا برنامههایی که مجاز به اتصال هستند. اگر خالی یا نامشخص بماند، هیچ برنامه افزودنی یا برنامهای نمیتواند متصل شود.
علامت عام
"*"
به همه برنامههای افزودنی و برنامهها اجازه اتصال میدهد.matches
(آرایه از رشته) - اختیاریالگوهای URL برای صفحات وب که مجاز به اتصال هستند. این بر اسکریپت های محتوا تأثیر نمی گذارد. اگر خالی یا نامشخص بماند، هیچ صفحه وب نمی تواند متصل شود.
الگوها نمیتوانند شامل دامنههای عام و یا زیر دامنههای (موثر) دامنههای سطح بالا باشند .
*://google.com/*
وhttps://*.chromium.org/*
معتبر هستند، در حالی که<all_urls>
،https://*/*
،*://*.com/*
، و حتیhttps://*.appspot.com/*
نیست.accepts_tls_channel_id
(بولی) - اختیاری استاگر
true
، پیامهایی که از طریقruntime.connect
یاruntime.sendMessage
ارسال میشوند، در صورت درخواست آن روشها،runtime.MessageSender.tlsChannelId
را تنظیم میکنند. اگرfalse
،runtime.MessageSender.tlsChannelId
هرگز تحت هیچ شرایطی تنظیم نخواهد شد.