externally_connectable

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

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

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

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

نموذج JSON.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
  },
  ...
}

مَراجع

يمكن أن يحتوي مفتاح البيان external_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 تحت أي ظرف من الظروف.