externally_connectable

تشير سمة البيان "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"
أنماط عناوين URL لصفحات الويب المسموح بالاتصال بها. في حال ترك هذا الحقل فارغًا أو غير محدَّد، لن تتمكّن أي صفحات ويب من الاتصال. لا يمكن أن تتضمّن الأنماط نطاقات أحرف بدل أو نطاقات فرعية لنطاقات المستوى الأعلى(الفعالة)، على سبيل المثال:
✅ عناوين URL صالحة ❌ عناوين URL غير الصالحة
*://example.com/ *://example.com/one/
http://*.example.org/* <all_urls>
https://example.com/* http://*/*
"accepts_tls_channel_id"
يفعِّل هذا الإعداد الإضافة لاستخدام معرّف قناة بروتوكول أمان طبقة النقل (TLS) لصفحة الويب المرتبطة بها. يجب أن تختار صفحة الويب أيضًا إرسال معرّف قناة بروتوكول أمان طبقة النقل (TLS) إلى الإضافة من خلال ضبط من includeTlsChannelId إلى true في connectInfo أو runtime.sendMessage في التشغيل. في حال ضبط السياسة على false، لن يتم أبدًا ضبط runtime.MessageSender.tlsChannelId تحت أي ظرف من الظروف.

لن يؤثر ذلك في النصوص البرمجية للمحتوى.