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.connect أو في خيارات التوجيه runtime.sendMessage. في حال ضبط السياسة على false، لن يتم مطلقًا ضبط runtime.MessageSender.tlsChannelId تحت أي ظرف.

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