externally_connectable

تشير سمة البيان externally_connectable إلى الإضافات والتطبيقات وصفحات الويب التي يمكن استخدامها. الاتصال بإضافتك من خلال runtime.connect وruntime.sendMessage.

للاطّلاع على برنامج تعليمي حول تمرير الرسائل، راجِع المراسلة بين الإضافات والتطبيقات وإرسال الرسائل. من صفحات الويب

الاتصال بدون توفّر إمكانية الاتصال الخارجي

إذا لم تتم الإشارة إلى السمة externally_connectable في بيان الإضافة، ستكون جميع الإضافات والتطبيقات ولكن لا يمكن لأي صفحات ويب الاتصال. لذلك، عند تعديل ملف البيان لاستخدام externally_connectable، إذا لم يتم تحديد "ids": ["*"]، ستتغيّر الإضافات والتطبيقات الأخرى إمكانية الاتصال بإضافتك. قد تكون هذه نتيجة غير مقصودة، لذا يُرجى الإبقاء عليها الذهن.

نموذج JSON.json

{
  "name": "My externally connectable extension",
  "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
  },
  ...
}

مَراجع

يمكن أن يحتوي مفتاح البيان external_connectable على السمات التالية:

  • ids (مصفوفة من السلاسل) - اختياري

    أرقام تعريف الإضافات أو التطبيقات المسموح لها بالاتصال إذا تُركت فارغة أو غير محدّدة، لا يمكن للإضافات أو التطبيقات الاتصال بها.

    سيسمح حرف البدل "*" لجميع الإضافات والتطبيقات بالاتصال.

  • matches (مصفوفة من السلاسل) - اختياري

    أنماط عناوين URL لصفحات الويب المسموح لها بالاتصال. لن يؤثّر ذلك في المحتوى. النصوص البرمجية في حال ترك هذا الحقل فارغًا أو غير محدَّد، لن تتمكّن أي صفحات ويب من الاتصال.

    لا يمكن أن تتضمّن الأنماط نطاقات أحرف بدل أو نطاقات فرعية لنطاقات المستوى الأعلى(الفعالة)؛ تُعد *://google.com/* وhttp://*.chromium.org/* صالحة، بينما <all_urls> وhttp://*/* *://*.com/* وحتى http://*.appspot.com/* ليس كذلك.

  • accepts_tls_channel_id (منطقية) - اختياري

    في حال ضبط true، سيتم ضبط الرسائل المُرسَلة عبر runtime.connect أو runtime.sendMessage. runtime.MessageSender.tlsChannelId إذا طلبت هذه الطرق منك ذلك. إذا كانت false، لن يتم أبدًا ضبط runtime.MessageSender.tlsChannelId تحت أي ظرف من الظروف.