تحدّد السمة "externally_connectable" في ملف البيان الإضافات وصفحات الويب التي يمكنها
الربط بإضافتك باستخدام runtime.connect() وruntime.sendMessage().
للحصول على برنامج تعليمي حول تمرير الرسائل، يُرجى الاطّلاع على المراسلة بين الإضافات وإرسال الرسائل من صفحات الويب.
الاتصال بدون externally_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"- أنماط المطابقة لصفحات الويب التي يُسمح لها بالاتصال. في حال تركها فارغة أو غير محدّدة، لن تتمكّن أي صفحات ويب من الاتصال.
"accepts_tls_channel_id"- تتيح للإضافة استخدام معرّف قناة TLS لصفحة الويب التي تتصل بها. يجب أيضًا أن يختار موقع الويب إرسال معرّف قناة TLS إلى الإضافة من خلال ضبط
includeTlsChannelIdعلىtrueفي connectInfo الخاص بـ runtime.connect أو options الخاص بـ runtime.sendMessage. إذا تم ضبط القيمة علىfalse، لن يتم ضبط runtime.MessageSender.tlsChannelId تحت أي ظرف.
لا يؤثّر ذلك في نصوص المحتوى البرمجية.