خارجی_قابل اتصال

ویژگی مانیفست "externally_connectable" اعلام می کند که کدام افزونه ها و صفحات وب می توانند با استفاده از runtime.connect() و runtime.sendMessage() به برنامه افزودنی شما متصل شوند.

برای آموزش ارسال پیام، به پیام‌رسانی بین الحاقی و ارسال پیام از صفحات وب مراجعه کنید.

بدون خارجی_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"
شناسه برنامه های افزودنی که مجاز به اتصال هستند. اگر خالی یا نامشخص بماند، هیچ برنامه افزودنی یا برنامه‌ای نمی‌تواند متصل شود. علامت عام "*" به همه برنامه‌های افزودنی و برنامه‌ها اجازه اتصال می‌دهد.
"matches"
الگوهای URL برای صفحات وب که مجاز به اتصال هستند. اگر خالی یا نامشخص بماند، هیچ صفحه وب نمی تواند متصل شود. الگوها نمی توانند شامل دامنه های wildcard یا زیر دامنه های (موثر) دامنه های سطح بالا باشند، به عنوان مثال:
✅ آدرس های اینترنتی معتبر ❌ URL های نامعتبر
*://example.com/ *://example.com/one/
http://*.example.org/* <all_urls>
https://example.com/* http://*/*
"accepts_tls_channel_id"
افزونه را فعال می کند تا از شناسه کانال TLS صفحه وب متصل به آن استفاده کند. صفحه وب همچنین باید با تنظیم includeTlsChannelId روی true در گزینه‌های runtime.connect's connectInfo یا runtime.sendMessage ، شناسه کانال TLS را به برنامه افزودنی ارسال کند. اگر روی false تنظیم شود، runtime.MessageSender.tlsChannelId هرگز تحت هیچ شرایطی تنظیم نخواهد شد.

این بر اسکریپت های محتوا تأثیر نمی گذارد.