لقد أعلنّا مؤخرًا عن تغييرات في المخطط الزمني للإصدار 2 من Manifest V2، ورغم أنّنا ما زلنا ملتزمين راسخًا بإصدار Manifest V3، فإنّنا ندرك أنّ هناك المزيد من الإجراءات التي يجب القيام بها من جانبنا.
- قبل الإعلان عن مخطط زمني جديد لإيقاف التحديثات، انتهينا من معالجة الثغرات ذات الأولوية على المنصة وسدنا الأخطاء الخطيرة التي تم توثيقها في هذه الصفحة.
- وقد منحنا المطوّرين الوقت الكافي لإنشاء المحتوى، من خلال ضمان مرور ستة أشهر على الأقل بين الإعلان عن تطبيق المخطط الزمني والتجارب المعلَّقة لإزالة إمكانية استخدام إصدار Manifest V2.
سد الفجوة المتعلقة بالمنصة
نلتزم بسد الثغرات التالية قبل الإعلان عن مخطّط زمني جديد لإيقاف إصدار Manifest V2:
تم جمع المشاكل استنادًا إلى الملاحظات الواردة من الشركاء وتقارير الأخطاء والمطوّرين. وسنواصل عملنا المستمر على تحسين الاستقرار والأداء العام لمنصة الإضافات.
ما مِن مشاكل مفتوحة حاليًا تُعتبر فجوة أساسية في المنصة.
لقد تمت مؤخرًا معالجة المشاكل التالية:
- إتاحة معالجة الملفات على ChromeOS كبديل لنظام التشغيل
chrome.fileBrowserHandler
[Chrome 120] - إتاحة "برمجة تطبيقات Google": السماح بتسجيل النصوص البرمجية للمحتوى باستخدام رمز عشوائي باستخدام واجهة userScripts API الجديدة [Chrome 120].
- عمليات التحقّق الإضافية من قِبل مشغّلي الخدمات لعمليات معيّنة تستغرق أكثر من خمس دقائق.
- تمت الإضافة في الإصدار 116 من Chrome لكل من
permissions.request()
وdesktopCapture.chooseDesktopMedia()
وidentity.launchWebAuthFlow()
وmanagement.uninstall()
. - تمت الإضافة في الإصدار 118 من Chrome للحساب
chrome.debugger
- تمت الإضافة في الإصدار 116 من Chrome لكل من
- عليك زيادة عدد مجموعات القواعد الثابتة والمفعَّلة الخاصة بنموذج الطلب الصافية (DNR). تمت زيادة مجموعات القواعد الثابتة المفعَّلة من 10 إلى 50 وإجمالي مجموعات القواعد الثابتة من 50 إلى 100 [Chrome 120].
- توسيع وظيفة المستند خارج الشاشة لدعم المزيد من الأسباب لاستخدام مستند خارج الشاشة. تمت إضافة
GEOLOCATION
في Chrome 116. - تحسين إتاحة واجهة برمجة التطبيقات
chrome.tabCapture
[Chrome 116]:- إتاحة الاتصال بالرقم
getMediaStreamId()
من مشغّل خدمات - إتاحة الحصول على
MediaStream
من معرّف مصدر البيانات في مستند خارج الشاشة
- إتاحة الاتصال بالرقم
- إطالة عمر مشغّلي الخدمات مع توفُّر اتصالات
WebSocket
نشطة [Chrome 116].
الأسئلة الشائعة حول Manifest V3
س: هل نخطط لتوفير الدعم الذي نقدّمه لعمال الخدمات الدائمين؟
ج: أحد الأسباب الرئيسية للانتقال من النصوص البرمجية التي تعمل في الخلفية إلى مشغِّلي الخدمات هو نموذج البرمجة الأكثر فعالية من حيث الذاكرة والمستنِد إلى الأحداث والذي يأتي من الطبيعة المؤقتة للعاملين في الخدمات. وبالتالي، لا نخطط لدعم العاملين الدائمين في الخدمة. ومع ذلك، ومن أجل تلبية الاحتياجات المحدّدة لمطوّري الإضافات، نواصل إجراء العديد من التحسينات على العاملين في مجال الخدمات. وعلى وجه الخصوص:
- ستؤدي جميع أحداث الإضافات وطلبات البيانات من واجهة برمجة التطبيقات إلى تمديد فترة عمل عامل الخدمة.
- ستعمل حالات الاستخدام المحدَّدة، مثل المراسلة الأصلية، على بقاء موظفي خدمات الإضافات يعملون لمدة أطول من 5 دقائق.
س: هل هناك طريقة للوصول إلى DOM في مشغّلي الخدمات؟
ج: نتّبع النهج الذي تتّبعه منصة الويب لعدم تضمين إمكانية الوصول إلى نموذج العناصر في المستند (DOM) في مشغّلي الويب (بما في ذلك مشغّلي الخدمات). لدعم حالات الاستخدام التي تتطلب الوصول إلى نموذج العناصر في الخلفية من مشغِّلي الخدمات، طرحنا إمكانية تفويض العمل في الخلفية إلى مستندات خارج الشاشة قصيرة الأجل توفّر إمكانية الوصول الكامل إلى نموذج العناصر في المستند (DOM).
س: هل ستتوفّر طريقة لإتاحة الرموز عن بُعد في الإصدار 3 من Manifest V3؟
ج: لجعل إضافات Chrome أكثر أمانًا، سنواصل عدم السماح بتنفيذ رمز عشوائي مستضاف عن بُعد في إضافات Chrome. ومع ذلك، لا يعني ذلك أنّنا لا نسمح بجميع أنواع تنفيذ الرموز الديناميكية. ما زلنا نوفّر خيارات مختلفة لتنفيذ الرمز ديناميكيًا في إضافات Chrome:
- إتاحة
eval()
في إضافات "أدوات مطوري البرامج" - دعم النصوص البرمجية للمستخدم.
- تنفيذ رمز مُستضاف عن بُعد في إطارات iframe في وضع الحماية
- ملفات الإعداد المستضافة عن بُعد والتي يمكن تفسيرها في وقت التشغيل في حزمة الإضافة. ومع ذلك، يجب تحديد مسارات التنفيذ المحتملة مسبقًا.
س: تعتمد الإضافة المستنِدة إلى إصدار Manifest V2 على webRequestBlock غير المتوافق مع الإصدار 3 من ملف Manifest. كيف يمكنني مواصلة توفير الوظائف نفسها في الإصدار 3 من ملف البيان؟
ج: نحن على ثقة من أنّه يمكن حل معظم حالات استخدام حظر الطلبات باستخدام declarativeNetRequest
API الجديدة، ما يوفّر فائدة إضافية تتمثل في تجنُّب العمل على الاتصال البيني للعمليات أو تنفيذ رمز برمجي في كل طلب أو اشتراط عملية إضافة نشطة في وقت تقديم الطلب. ومع ذلك، بالنسبة إلى حالات الاستخدام المعقّدة للمؤسسات (أو التعليم)، سيستمر حظر الطلبات الديناميكية.
هل فاتتنا معلومات؟ يُرجى إعلامنا.