البيان: الموارد التي يمكن الوصول إليها على الويب

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

لا يمكن الوصول إلى أي موارد على الويب بشكل تلقائي، لأنّ هذا يسمح للمواقع الإلكترونية الضارّة بإضافة بصمة الإصبع للإضافات التي ثبَّتها المستخدم. أو استغلال الثغرات الأمنية (مثل أخطاء XSS) في الإضافات المثبَّتة. الصفحات أو النصوص البرمجية التي تم تحميلها من مصدر الإضافة فقط الوصول إلى موارد تلك الإضافة.

بيان البيان

استخدِم سمة البيان web_accessible_resources لتحديد الموارد التي تم الاطّلاع عليها والأصول. هذه السمة هي مصفوفة من العناصر التي توضِّح قواعد الوصول إلى الموارد. كل كائن تعرض عددًا من موارد الإضافات ويجب أن توفّر قيمة لواحد على الأقل من matches أو مفاتيح extension_ids للإشارة إلى المصادر التي يمكنها الوصول إلى هذه الموارد.

{
  ...
  "web_accessible_resources": [
    {
      "resources": [ "test1.png", "test2.png" ],
      "matches": [ "https://web-accessible-resources-1.glitch.me/*" ]
    }, {
      "resources": [ "test3.png", "test4.png" ],
      "matches": [ "https://web-accessible-resources-2.glitch.me/*" ]
    }
  ],
  ...
}

يحتوي كل كائن في الصفيفة على العناصر التالية:

"resources"
مصفوفة من السلاسل، يحتوي كل منها على مسار نسبي لمورد معيّن من الدليل الجذري للإضافة. يمكن أن تحتوي الموارد على علامات النجمة (*) عند مطابقة أحرف البدل. على سبيل المثال، يعرض "/images/*" كل المحتوى في دليل images/ الخاص بالإضافة بشكل متكرّر، بينما يعرض "*.png" جميع ملفات PNG.
"matches"
مصفوفة من السلاسل، يحتوي كل منها على نمط مطابقة يحدد المواقع الإلكترونية التي يمكنها الوصول إلى هذه المجموعة من الموارد. يتم استخدام المصدر فقط لمطابقة عناوين URL. وتشمل المصادر مطابقة النطاق الفرعي. ظهور "نمط مطابقة غير صالح" في Google Chrome إذا كان النمط يتضمّن مسارًا غير '/*'.
"extension_ids"
مصفوفة من السلاسل، يحتوي كل منها على رقم تعريف إضافة يمكنها الوصول إلى الموارد.

يجب أن يحتوي كل عنصر على عنصر "resources" وعنصر "matches" أو "extension_ids". يؤدي هذا إلى إنشاء تعيين يعرض الموارد المحددة إما لصفحات الويب التي تطابق النمط أو للإضافات ذات المعرفات المطابقة.

تتوفّر المراجع في صفحة ويب باستخدام عنوان URL. chrome-extension://[PACKAGE ID]/[PATH]، التي يمكن إنشاؤها باستخدام runtime.getURL() . يتم عرض الموارد باستخدام عناوين CORS المناسبة، بحيث تكون متاحة. باستخدام fetch().

تم حظر عملية تنقّل من مصدر ويب إلى مورد إضافة ما لم يكن المورد مدرجة باعتبارها متاحة للوصول عبر الويب. لاحظ الحالات الزاوية التالية:

  • عندما تستخدم الإضافة واجهة برمجة التطبيقات webRequest لإعادة توجيه واجهة برمجة تطبيقات عامة طلب موارد إلى مورد لا يمكن الوصول إليه عبر الويب، يتم أيضًا حظر هذا الطلب.
  • يتم حظر عمليات إعادة التوجيه من الموارد العامة حتى إذا كانت إعادة التوجيه ملكية المورد الذي لا يمكن الوصول إليه عبر الويب الإضافة.
  • يتم حظر التنقل في وضع التصفح المتخفي ما لم يتم ضبط قيمة الحقل "incognito" على "split".

لا يلزم السماح بالنصوص البرمجية للمحتوى نفسها.

مثال

يوضح مثال Web Accessible resources استخدام هذا العنصر في إضافة عاملة.