اطّلع على هذه الصفحة من حين لآخر للتعرّف على التغييرات التي تطرأ على إضافات Chrome، أو وثائق الإضافات، أو السياسة ذات الصلة، أو التغييرات الأخرى. ستظهر لك الإشعارات الأخرى المنشورة في "مجموعة Google" للإضافات. يسرد جدول Chrome تواريخ الإصدار الثابت والتجريبي.
Chrome 126: الإصدارات التجريبية الأصلية في الإضافات
طرْح الإصدار 126 من متصفِّح Chrome بيانًا جديدًا باسم "ملف Manifest.json" وهو trial_tokens
، ما يتيح لك تفعيل "الإصدارات التجريبية من الإصدارات التجريبية" و"الإصدارات التجريبية من الإيقاف النهائي" على جميع مساحات العرض الخاصة بالإضافات. يُرجى قراءة الدليل للحصول على مزيد من المعلومات.
مشاركة مدوّنة: التغييرات التي ستطرأ على إضافات Chrome في نيسان (أبريل) 2024
لقد نشرنا إصدارًا جديدًا من مقالة What's Gappening in Chrome extensions (تفاصيل ما يحدث في إضافات Chrome). تناقش المشاركة ما كان فريق التمديد يعمل عليه خلال الأشهر القليلة الماضية. ويشمل ذلك ما يلي: العودة إلى الإصدار السابق في "سوق Chrome الإلكتروني" والحصول على دعم أفضل لمصادقة Firebase والمزيد من عمليات إطلاق واجهة برمجة التطبيقات وتحديثاتها.
عمليات العودة إلى الإصدارات السابقة من "لوحة بيانات المطوّر" في "سوق Chrome الإلكتروني"
يمكنك إعادة إضافتك إلى الإصدار السابق المنشور في "سوق Chrome الإلكتروني" بدون مراجعة إضافية. يمكنك الاطّلاع على مشاركة المدونة والمستندات لمزيد من المعلومات.
Chrome 124: واجهة برمجة التطبيقات Advanced DocumentScan API
تتوفّر الآن documentScan
API متقدّمة على ChromeOS لاستكشاف الصور واستردادها من الماسحات الضوئية للمستندات المرفقة.
Chrome 124: إتاحة WebGPU في مشغّلي الخدمات
بدايةً من إصدار Chrome 124، يتوافق مشغّلو الخدمات مع WebGPU. للبدء بسرعة، يُرجى الاطّلاع على نموذج إضافة WebGPU.
Chrome 123: تتيح واجهة برمجة التطبيقات Events API الفلترة حسب مجموعات CIDR.
أصبحت واجهة Events API الآن متوافقة مع الفلترة عن طريق وحدات التوجيه بين المجالات غير الفئوية (CIDR). كتلة CIDR هي مجموعة من عناوين IP التي تشترك في
بادئة الشبكة ونفس العدد من وحدات البت. في السابق، كان مطوّر البرامج يحتاج إلى فلترة عدة عناوين IP من أجل إعداد قاعدة فلترة لكل عنوان من العناوين في نطاق الكتل. والآن، عند استدعاء إحدى الإضافات
addListener()
، تعني القاعدة "اجتياز" أنّه سيتم استدعاء معالج الأحداث فقط
عندما يكون جزء المضيف من عنوان URL هو عنوان IP ويتم تضمينه في أي من كتل CIDR
المحددة في مصفوفة.
سوق Chrome الإلكتروني: تعديلات على متطلبات طول اسم الإضافة
في "سوق Chrome الإلكتروني"، يتوفّر الآن حد عام يبلغ 75 حرفًا في حقل "name"
الخاص بإحدى الإضافات في ملف manifest.json. في السابق، كان الحدّ الأقصى المسموح به لعدد الأحرف في اللغة الإنجليزية هو 45 حرفًا، ولم يكن هناك أي قيود على الحقل "name"
في اللغات الأخرى.
كان الغرض من ذلك في الأصل هو السماح بالاختلافات الثقافية واللغوية التي قد لا يمكن تمثيلها بنفس عدد الأحرف. للأسف، أساء عدد قليل من المطورين استخدام هذه الميزة لإرسال محتوى غير مرغوب فيه إلى المتجر. ونتيجةً لذلك، سنطرح حدًا عالميًا جديدًا، هو زيادة عدد الأحرف إلى 75 حرفًا. يشمل هذا الحدّ الأقصى اليوم جميع الإضافات في المتجر تقريبًا، لذلك من المحتمل ألا تكون بحاجة إلى اتّخاذ أي إجراء نتيجةً لهذا التغيير. وإذا حاولت تحميل إضافة باسم أطول من الحدّ الأقصى المسموح به، سيتم حظر التحميل من خلال المتجر.
مشاركة مدونة: رحلة Eyeo لاختبار تعليق حسابات موظفي الخدمات
في هذه المشاركة التي نشرها فريق Extension Engine في eyeo، نستكشف مشكلة اختبار موظفي خدمات الإضافات. في الإصدار 2 من Manifest V2، كانت الإضافات متوفّرة في صفحة خلفية، وكانت هذه الإضافات نشطة طوال فترة عمل الإضافة. في الإصدار 3 من Manifest V3، يستخدم إصدار Manifest V3 مشغِّلي الخدمات بدلاً من ذلك، فيما يحافظ إصدار Manifest V3 على توفير الموارد من خلال إيقاف تشغيله عند عدم الحاجة إليه. يمثل هذا بعض تحديات الاختبار. توضّح هذه المشاركة كيف تعاملت العين مع هذه التحديات.
Chrome 123: تشغيل المنبّهات الآن عندما يكون الجهاز في وضع السكون
لن تتأخر المنبّهات التي تم ضبطها باستخدام chrome.alarms
API
بعد الآن عندما ينتقل الجهاز إلى وضع السكون. عندما يستيقظ الجهاز، سيتم تشغيل
المنبه مرة واحدة بغض النظر عن عدد المنبهات الفائتة. على سبيل المثال، لنفترض
أنّه تم ضبط منبه ليرن مرة كل ساعة وأن الجهاز الذي يتم تشغيله في وضع السكون
من الساعة 12:55 صباحًا إلى 2:05 صباحًا، ثم يعمل المنبه فقط على الساعة 2:00 صباحًا تشغيل الحدث onAlarm
.
وسينطلق الجهاز بالقرب من الساعة 2:00 صباحًا قدر الإمكان، وفور تنشيط الجهاز
إذا كان نائمًا.
يدمج هذا التغيير Chrome مع السلوك المتفق عليه في مجموعة منتدى إضافات الويب.
مشاركة المدونة: تغييرات في سلوك ميزة "التخزين المؤقت للصفحات" باستخدام منافذ رسائل الإضافات
التخزين المؤقت للصفحات (bfcache) هي أداة تحسين في
المتصفح تتيح التنقّل الفوري للأمام والخلف. وبدءًا من
الإصدار 123 من Chrome، عند تخزين صفحة تحتوي على منفذ إضافة مفتوح في ميزة "التخزين المؤقت للصفحات"،
يتم إغلاق قناة الرسالة، ما يعني أنّه لن يتم إرسال أي رسائل إلى تلك الصفحة.
وبالتالي، يجب أن ترصد النصوص البرمجية للإضافات أحداث مراحل نشاط مثل onDisconnect
وتضبط عملية ربط جديدة عند استعادة الصفحة من ذاكرة التخزين المؤقت للصفحات.
للحصول على مزيد من المعلومات ونموذج الرمز البرمجي، يمكنك الاطّلاع على التغييرات في سلوك BFcache مع منافذ رسائل الإضافات.
Chrome 122: تقديم وعود بدعم واجهات برمجة التطبيقات للإضافات غير المتزامنة
لقد انتهينا من تنفيذ دعم "الوعد" لجميع طرق واجهة برمجة التطبيقات للإضافات غير المتزامنة. وقد كان الهدف من ذلك تحديث طرق واجهة برمجة التطبيقات من خلال تحسين الجوانب الهندسية للتعامل مع العمليات غير المتزامنة. هناك عدد من الطرق (مثل desktopCapture.chooseDesktopMedia()
) لا يزال متاحًا لإجراء عمليات معاودة الاتصال فقط لأنّ مساحات العرض الحالية غير متوافقة مع "الوعود". للتوافق مع الأنظمة القديمة، لا تزال عمليات
رد الاتصال متاحة. إذا وجدت وعدًا قد فشل،
يُرجى الإبلاغ عن خطأ.
إرشادات جديدة للتواصل في الوقت الفعلي
لقد نشرنا للتو أدلة عن خيارات الوقت الفعلي في الإضافات. توفّر التحديثات في الوقت الفعلي مسار اتصال فوري من خوادمك مباشرةً إلى عمليات تثبيت الإضافات. بالإضافة إلى ذلك، نوفّر إرشادات جديدة لاستخدام chrome.gcm وWeb Push.
إرشادات ونموذج جديدان: اختبار إنهاء مشغّل الخدمات
لقد نشرنا للتو دليلاً حول كيفية اختبار إنهاء مشغّل الخدمة باستخدام Puppeteer. توضح العينة المرفقة ذلك في الدمى والسيلينيوم.
تم تعديل نموذج المراسلة مع التطبيقات الأصلية.
لقد نشرنا للتو نموذجًا معدّلاً للمراسلة الأصلية. تسمح واجهة برمجة التطبيقات هذه للإضافة بالبدء والتواصل مع تطبيق آخر. شكرًا للمساهم في GitHub، Shubham-Rasal، على عملك في هذا الشأن.
Chrome 121: خاصية lastAccessed جديدة في علامة التبويب (Tab)
تمت إضافة موقع جديد باسم lastAccessed
إلى العنصر tabs.Tab
. تشير هذه السمة إلى آخر مرة تم فيها تفعيل علامة التبويب. تكون القيمة المعروضة بالمللي ثانية منذ تاريخ بدء حساب الفترة.
Chrome 121: تصدر مفاتيح "الخلفية" غير المتوافقة تحذيرًا الآن
عند التغيير من إصدار Manifest V2 إلى Manifest V3، تم تغيير العناصر الثانوية لمفتاح البيان "background"
لكي يتم استبدال النصوص البرمجية الخاصة بالخلفية من قِبل مشغِّلي خدمات الإضافات. في السابق، كانت إضافة مفاتيح الإصدار 2 من Manifest "scripts"
أو "page"
أو "persistent"
إلى المفتاح "background"
الخاصة بإضافة Manifest V3 ستؤدي إلى عرض خطأ. يؤدي توفّر هذه المفاتيح الآن إلى ظهور تحذير.
تهدف هذه الخطوة إلى إتاحة استخدام ملف بيان واحد في الإضافات ضمن عدة متصفّحات، وفقًا لاقتراح في مجموعة المنتدى.
Chrome 120: تم خفض الحدّ الأدنى لدقة المنبّه إلى 30 ثانية.
بدءًا من إصدار Chrome 120، يمكن للإضافات المستنِدة إلى إصدار Manifest V3 استخدام واجهة برمجة التطبيقات chrome.alarms
مع تأخيرات أو فترات تبلغ 30 ثانية، بدلاً من أن تتطلب استخدام قيم تبلغ 60 ثانية أو أكثر.
مشاركة المدوّنة: استئناف عملية الانتقال إلى الإصدار 3 من ملف البيان
تم تعديل المخطط الزمني لإصدار Manifest V2. يمكنك الاطّلاع على مشاركة المدونة لشهر تشرين الثاني (نوفمبر) 2023 لمعرفة التفاصيل.
مشاركة المدونة: تحسينات على إمكانية فلترة المحتوى في الإصدار 3 من ملف Manifest
يمكنك الاطّلاع على مشاركة المدونة الجديدة لمعرفة كيفية تحسين واجهة برمجة التطبيقات declarativeNetRequest API.
مشاركة المدونة: الميزات الجديدة في Chrome 120 للإضافات
تم إصدار الإصدار التجريبي من Chrome 120 مؤخرًا. للحصول على ملخص عن التحديثات المهمة ذات الصلة بمطوّري الإضافات، يمكنك قراءة مشاركة المدونة الجديدة: الميزات الجديدة في Chrome 120 للإضافات. يمثّل هذا الإصدار أيضًا إنجازًا رئيسيًا لأنّه يزيل العنصرَين الأخيرَين (userScripts، معالج الملفات في ChromeOS) من قائمة الثغرات المهمة في النظام الأساسي.
PSA: تغيير في طريقة التعامل مع عناوين URL لسياسة الخصوصية في لوحة بيانات المطوّر
تمت الآن إضافة سياسات الخصوصية في "لوحة بيانات المطوّر" على مستوى العنصر. يتيح لك ذلك تقديم سياسة خصوصية مختلفة لكل عنصر. يمكنك الاطّلاع على المزيد من المعلومات حول هذا التغيير في إعلانات الخدمة العامة.
فيديو: محادثة مع "مات فريسبي"
لقد نشرنا للتو فيديو جديدًا على قناة Chrome للمطوّرين على YouTube وهو يتحدّث مع خبير التطوير في Google والمؤلف "مات فريسبي". شاهِده هنا.
إرشادات جديدة بشأن اختبار الإضافات
لقد نشرنا للتو إرشادات جديدة حول كيفية كتابة اختبارات مبرمَجة للإضافات، بما في ذلك كيفية كتابة اختبارات الوحدات وكل من إرشادات عامة وبرنامج تعليمي حول الاختبار الشامل.
مشاركة مدوّنة: التغييرات في إضافات Chrome - تشرين الأول (أكتوبر) 2023
لقد نشرنا للتو الإصدار الثاني من What’s Gappening in Chrome extensions (ما يحدث في إضافات Chrome). تناقش المشاركة ما كان فريق الإضافات يسعى إلى تحقيقه خلال الأشهر القليلة الماضية، بما في ذلك معالجة المشاكل المتعلّقة باستقرار عمل موظفي الخدمات وتحقيق تقدّم جيد في ما يتعلّق بسد جميع الثغرات في منصات MV3. نشارك أيضًا إصدارات قادمة رائعة لواجهة برمجة التطبيقات مثل Read List API وUser Scripts API.
زيادة حدود مجموعة القواعد الثابتة في واجهة برمجة التطبيقات Delarative Net Request API
وبالاستناد إلى الملاحظات التي تلقّيناها في مجموعة منتديات إضافات الويب، سنزيد بشكل كبير الحدّ الأقصى المسموح به لمجموعات القواعد الثابتة المفعَّلة من 10 إلى 50. إضافةً إلى ذلك، نعمل على زيادة إجمالي عدد مجموعات القواعد الثابتة المسموح بها من 50 إلى 100. تتوفّر هذه الميزة حاليًا في إصدار Canary.
إرشادات محسَّنة بشأن الرموز البرمجية المستضافة عن بُعد
أحد متطلبات استخدام الإصدار 3 من ملف البيان هو أنّ الإضافات قد لا تستخدم رمزًا تتم استضافته عن بُعد. على الرغم من أن هذا كان جزءًا من دليل نقل البيانات منذ البداية، إلا أنّنا رأينا أنّ الأمر كان يستحق تحسين الإرشادات المتعلّقة بهذه المشكلة. توفّر هذه الصفحة الآن مزيدًا من المعلومات وتصف ما لا يزال ممكنًا في الإصدار 3 من بيان التطبيق وتقدّم مزيدًا من المعلومات حول استراتيجيات الترقية.
هناك إضافة ذات صلة بعنوان تحديد المشاكل المتعلّقة بانتهاكات "سوق Chrome الإلكتروني" وحلّها. يصف قسم جديد الأسباب الشائعة لرفض الإضافات التي تتضمّن رمزًا مستضافًا عن بُعد.
الإصدار 118 من Chrome: يتم الآن ضبط القيمة التلقائية isUrlFilterCaseSensitive على "خطأ"
بدءًا من إصدار Chrome 118، تم تغيير السمة isUrlFilterCaseSensitive
في واجهة برمجة التطبيقات chrome.declarativeNetRequest
إلى القيمة التلقائية "false
". إذا أردت الاحتفاظ بالسلوك القديم، يمكنك بشكل صريح ضبط isUrlFilterCaseSensitive
على true
في
قواعد declarativeNetRequest.
ويتبع هذا المناقشات في مجموعة منتدى إضافات الويب. وقد تم بالفعل تنفيذ تغيير مماثل عن طريق متصفحَي Firefox وSafari.
مستندات عن ملفات تعريف الارتباط وواجهات برمجة تطبيقات مساحة تخزين الويب
نشرنا دليلاً جديدًا حول طريقة عمل ملفات تعريف الارتباط وواجهات برمجة التطبيقات لمساحة تخزين الويب في إضافات Chrome. ويشمل هذا الدليل تفاصيل حول التغييرات التي طرأت على تقسيم ملفات تعريف الارتباط وسعة التخزين في مبادرة حماية الخصوصية، وهو مشروع مستمر لإيقاف ملفات تعريف الارتباط التابعة لجهات خارجية نهائيًا من خلال إنشاء سلسلة من واجهات برمجة التطبيقات الجديدة للأنظمة الأساسية على الويب، بالإضافة إلى تفاصيل حول طريقة عملها في الإضافات.
يمكن الآن البحث عن نماذج الإضافات
لقد أنشأنا مؤخرًا صفحة تتيح لك البحث في نماذج إضافات Chrome. تتضمن صفحة البحث خيارات متعددة. يتيح لك مربّع البحث البحث عن نص في نماذج العناوين. يمكنك تقييد البحث من خلال واجهة برمجة التطبيقات للإذن أو الإضافة. يتيح لك فلتر إضافي إمكانية حصر البحث في واجهة برمجة التطبيقات أو نماذج وظيفية (حالات الاستخدام).
تم إنشاء هذه الصفحة النموذجية الجديدة بواسطة شويتشو داي، أحد المشاركين في برنامج Summer of Code من Google، والذي ساهم أيضًا في عدة نماذج جديدة. يمكنك الاطّلاع على تجاربهم خلال فصل الصيف الماضي في مشاركتهم على مدوّنتنا.
كما في السابق، لا تزال عيّنات التعليمات البرمجية متاحة على GitHub للنسخ أو التشعّب.
Chrome 118: تغييرات على فتح الملف: عناوين URL للمخطط
بدءًا من نظام التشغيل Chrome 118، يجب تفعيل الإعداد "السماح بالوصول إلى عناوين URL للملفات" من صفحة chrome://extensions
لفتح عناوين URL للمخطط file:// باستخدام واجهات برمجة تطبيقات علامات التبويب أو Windows. يمكنك التأكّد آليًا من إذن الوصول هذا من خلال الاتصال على الرقم chrome.extension.isAllowedFileSchemeAccess()
. سبق أن يقيّد متصفّح Firefox عناوين URL للملفات، ويتيح متصفّح Safari هذا التغيير. للمزيد من المعلومات، يُرجى الاطّلاع على المشاركة في "مجموعة Google" للإضافات.
Chrome 117: حماية موسّعة لعناوين URL في عمليات التنقّل من خلال واجهة برمجة التطبيقات للإضافات
أدى التنقّل السابق من خلال طلبات البيانات من واجهة برمجة التطبيقات للإضافة tabs.update()
وtabs.create()
وwindows.create()
إلى عرض خطأ في بعض عناوين URL التي تبدأ بـ chrome:// . بالإضافة إلى ذلك، كان يتم حظر طلب tabs.update()
باستخدام عنوان URL على JavaScript. وفي عام 117، تم توسيع نطاق إجراءات الحماية هذه الخاصة بعناوين URL التي تستخدم JavaScript ليشمل الطريقة tabs.create()
وتمت إضافة عدد من عناوين URL الإضافية التي تبدأ بـ chrome:// إلى قائمة عناوين URL المحظورة التي تنطبق على جميع الطرق المذكورة سابقًا.
إرشادات محسَّنة بشأن واجهة برمجة التطبيقات declarativeNetRequest API
تحظر واجهة برمجة التطبيقات chrome.declarativeNetRequest
طلبات الشبكة أو تعدِّلها من خلال تحديد قواعد الإفصاح. ويتيح ذلك للإضافات تعديل طلبات الشبكة بدون اعتراضها وعرض محتواها، ما يوفّر المزيد من الخصوصية للمستخدمين. من الصعب أيضًا استخدامها. مع وضع ذلك في الاعتبار، أعدنا كتابة الإرشادات بطريقة نعتقد أنّها ترسم صورة أوضح عن كيفية تطبيق قواعد البيان. اقرأ القسم الجديد من خلال الرابط أعلاه.
استخدام حسابك على "إحصاءات Google" مع "سوق Chrome الإلكتروني"
يوفّر "سوق Chrome الإلكتروني" ميزة الدمج مع "إحصاءات Google" التي تتيح لك الاطّلاع على إحصاءات حول بطاقة بياناتك في "سوق Chrome الإلكتروني"، بالإضافة إلى طريقة العرض المتوفّرة في "لوحة بيانات المطوّر". لمزيد من المعلومات، يُرجى الاطّلاع على استخدام حسابك على "إحصاءات Google" مع "سوق Chrome الإلكتروني".
Chrome 115: خطوات "أدوات مطوري البرامج" في النصوص البرمجية للمحتوى تلقائيًا
أصبحت النصوص البرمجية للمحتوى التي تم إدخالها الآن في قائمة تجاهل "أدوات مطوّري البرامج" تلقائيًا. ولا يؤثر ذلك في نقاط الإيقاف، ولكنّه يعني أنّه سيتم تخطّي النصوص البرمجية للمحتوى أثناء تصحيح الأخطاء وسيتم تجاهل الاستثناءات من هذه النصوص البرمجية. عندما يتم فتح نص برمجي للمحتوى في علامة التبويب المصادر، ينبهك بانر في حال تفعيل هذا النص ويوفّر خيارًا لإزالة النص البرمجي للمحتوى من قائمة التجاهل. لإيقاف هذا السلوك، افتح "أدوات مطوري البرامج" وانتقِل إلى الإعدادات ثم قائمة التجاهل. لمزيد من المعلومات، اطّلِع على الميزات الجديدة في "أدوات مطوري البرامج".
إصدار Chrome 116 التجريبي: أكثر مما يتناسب هنا
Chrome 116 هو إصدار كبير للإضافات. يمكنك الآن فتح اللوحات الجانبية آليًا. تتيح لك طريقة جديدة معرفة ما إذا كان هناك مستند نشط خارج الشاشة. حصل عاملو الخدمة على تحسينات على الخادم. هناك تحسينات كافية في الإصدار 116، وقد كتبنا مشاركة مدونة لتناولها. يتوفّر Chrome 116 كإصدار تجريبي اعتبارًا من 19 تموز (يوليو).
مشاركة مدوّنة: التغييرات التي تطرأ على إضافات Chrome
لقد نشرنا للتو نظرة عامة على التغييرات والتحسينات على الإضافات هذا العام. تناقش المشاركة الميزات الجديدة المهمة لهذا العام، بما في ذلك واجهة برمجة التطبيقات Side Panel API وتحسينات مشغّلي الخدمات والمستندات خارج الشاشة. ستحصل أيضًا على نظرة سريعة على ما نعمل عليه في هذا الربع من العام. تتضمّن المقالة المزيد من المعلومات، مع روابط تؤدي إلى الكل.
إرشادات ونموذج جديدان: التعرّف على كيفية استخدام "إحصاءات Google 4" في إضافة Chrome
نشرنا إرشادات وعيّنات جديدة حول الموقع الجغرافي في "إحصاءات Google" بالإضافة إلى نماذج جديدة:
- نسخة معدَّلة من إرشاداتنا في "إحصاءات Google" توضّح كيفية استخدام إحصاءات Google 4 في إضافة Chrome أضفنا أيضًا نموذجًا صالحًا من "إحصاءات Google 4" إلى مستودع نماذج جيت هب. اطّلِع على
google-analytics.js
لمعرفة الرمز ذي الصلة بخدمة "إحصاءات Google". - دليل جديد لرصد الموقع الجغرافي وثلاث نماذج توضّح كيفية الوصول إلى رصد الموقع الجغرافي في مشغّلي الخدمات والنصوص البرمجية للمحتوى والنوافذ المنبثقة واللوحات الجانبية
Chrome 115: تحديد أسباب متعددة في chrome.offscreen.createDocument()
يمكنك الآن تحديد تعدادات reason
متعدّدة عند استدعاء chrome.offscreen.createDocument()
. يمكنك استخدام هذا الخيار عند استخدام مستند خارج الشاشة لأغراض متعددة ومختلفة. يستخدم المتصفِّح الأسباب المقدَّمة لتحديد مدة صلاحية المستند خارج الشاشة.
أداة جديدة: أداة اختبار تحديث الإضافات
لقد أصدرنا للتو أداة اختبار تحديث الإضافات، وهي خادم محلي لتحديث الإضافات يمكن استخدامه لاختبار تحديثات إضافات Chrome أثناء التطوير المحلي، بما في ذلك عمليات منح الأذونات. تعرض الأداة مسار التحديث لدى المستخدم، بما في ذلك إبقاء الإضافة غير مفعّلة إلى أن يمنح المستخدم أي أذونات مطلوبة حديثًا. هذه الأداة مفيدة بشكل خاص لمحاكاة تغييرات الأذونات المطلوبة عند تعديل إضافة من الإصدار 2 إلى إصدار Manifest V3.
Chrome 114: واجهة برمجة تطبيقات جديدة للوحة جانبية
نقدِّم لك واجهة Side Panel API الجديدة، وهي مساحة تتيح للمستخدمين استخدام الأدوات إلى جانب المحتوى الذي يتصفّحونه. للاطّلاع على مزيد من المعلومات، يُرجى الانتقال إلى مرجع واجهة برمجة التطبيقات الخاصة باللوحة الجانبية. بالإضافة إلى ذلك، أضفنا العديد من نماذج اللوحات الجانبية إلى مستودع نماذج GitHub. سنشارك أيضًا المزيد من المعلومات حول اللوحات الجانبية في مشاركة المدونة الجديدة بعنوان تصميم تجربة مستخدم فائقة باستخدام واجهة برمجة التطبيقات الجديدة للّوحة الجانبية. تمت أيضًا مراجعة سياسة إرشادات الجودة وأفضل الممارسات لتوفير المزيد من الإرشادات حول إنشاء إضافات عالية الجودة للوحات الجانبية.
ملاحظاتك مهمة في تصميم واجهة برمجة التطبيقات هذه. يُرجى مشاركة أفكارك وطلبات الميزات في chromium-groups. يُرجى متابعتنا للاطّلاع على آخر الأخبار بينما نواصل تحسين واجهة برمجة التطبيقات Side Panel API.
نماذج جديدة: WASM في الإضافات
هناك نموذجان جديدان متاحان يوضحان كيفية استخدام WASM في إحدى الإضافات:
- يعرض استخدام WASM في إصدار Manifest V3 الطريقة العامة لتضمين وحدة WASM.
- يعرض استخدام WASM كوحدة في إصدار Manifest V3 كيفية استخدامه في وحدة.
نشكر خاص للمساهم في GitHub @daidr على هذه النماذج.
إرشادات معدّلة لنقل البيانات إلى الإصدار 3 من Manifest V3
لقد عدّلنا قسم المشاكل المعروفة ضِمن إرشادات نقل البيانات إلى الإصدار 3 من ملف Manifest من خلال إضافة قائمة معدَّلة تتضمّن ثغرات في المنصة الأساسية للإضافات والتي نعتزم إغلاقها قبل الإعلان عن المخطط الزمني الجديد لإصدار Manifest V2.
تسجيل الصوت والفيديو باستخدام إصدار Manifest V3
لقد نشرنا للتو مقالة جديدة بعنوان تسجيل الصوت وتصوير الشاشة تتناول تسجيل الصوت أو الفيديو من علامة تبويب أو نافذة أو شاشة في الإصدار 3 من بيان التطبيق. توضّح هذه المقالة طرقًا متعدّدة للتسجيل، بما في ذلك واجهة برمجة التطبيقات chrome.tabCapture
والوظيفة getDisplayMedia()
.
الإصدار 114 من Chrome: زيادة الحصة المحلية للتخزين
لقد تمت زيادة حصة الموقع storage.local
إلى 10 ميغابايت تقريبًا. تم الاتفاق على ذلك في مجموعة منتدى إضافات الويب. يؤدي ذلك إلى توافق storage.local
مع storage.session
الذي تم تغييره في Chrome 112.
الدليل التعليمي والمساعدة الجديدة لمشغّل خدمات الإضافات
يمثل عاملو الخدمة جزءًا لا يتجزأ من إضافات Chrome. لقد نشرنا للتوّ برنامجًا تعليميًا يشرح أساسيات التسجيل وتصحيح الأخطاء والتفاعل مع "مشغّلي الخدمات". أضفنا أيضًا دليل مشغّلي الخدمات الجديد الذي يوضّح المفاهيم المهمة بمزيد من التفصيل. وسنوسّع هذا القسم خلال الأشهر القادمة.
مزيد من النصائح حول تحديد المشاكل المتعلّقة بانتهاكات السوق الإلكتروني وحلّها
للمساعدة بشأن النشر في "سوق Chrome الإلكتروني"، أضفنا إرشادات جديدة في قسمَين. إنّ الإرشادات المتعلّقة بالحدّ الأدنى من الوظائف تركّز على توفير مزايا للمستخدمين وإثراء تجربة التصفّح. تتعلق الإرشادات المتعلّقة بإعلانات الشركاء التابعين بجعل المستخدمين على دراية بالإضافات باستخدام روابط أو رموز الشركاء التابعين لتحقيق الربح، ومنحهم قدرًا من التحكّم من خلال اشتراط أن يتّخذوا إجراء قبل إدراجهم.
تعليمات جديدة لأداة تحويل بيان الإضافة
لقد أعدنا كتابة الملف التمهيدي لتحويل بيان الإضافة لتسهيل رؤية ما عليك فعله بعد تشغيل الأداة. يساعد برنامج تحويل الإضافات على نقل الإضافات المستنِدة إلى إصدار Manifest V2 إلى إصدار Manifest V3. يصف الإصدار الجديد من README الإجراءات التي تنفّذها الأداة باستخدام كلمات تتطابق بشكل وثيق مع الكلمات الواردة في قائمة التحقّق الخاصة بدليل نقل البيانات. لا يفعل المحول كل شيء، لكنه يزيل العديد من المهام التي لا تتطلب طلب الحصول على حكم بشري.
Chrome 113: أسباب جديدة للمستندات التي تظهر خارج الشاشة
لقد أضفنا نوعَين جديدَين من أنواع الأسباب إلى واجهة برمجة التطبيقات Offscreen Documents API. يمكنك استخدام LOCAL_STORAGE
للوصول إلى واجهة برمجة التطبيقات localStorage API على الويب. استخدِم "WORKER
" عند إنشاء عمال على الويب.
"إحصاءات Google 4" الآن في "لوحة بيانات المطوّر"
أصبحت "لوحة بيانات المطوّر" في "سوق Chrome الإلكتروني" متوافقة الآن مع "إحصاءات Google 4". لقد بسّطنا عملية إعداد "إحصاءات Google" وجعلنا إدارة أذونات الوصول للناشرين الجماعيين أكثر وضوحًا. إذا سبق لك استخدام Google Universal Analytics لتتبُّع نشاط بطاقة بيانات المتجر، عليك اتّخاذ إجراء بحلول 1 تموز (يوليو) 2023 لضمان مواصلة تلقّي بيانات عن بطاقة بيانات المتجر. ولمزيد من المعلومات، يُرجى الاطّلاع على المشاركة عن "مجموعة Google" الخاصة بإضافات Chromium.
إتاحة واجهة برمجة التطبيقات File Handling API في ChromeOS
تتوفّر واجهة برمجة التطبيقات File Handler API للتجريب على نظام التشغيل ChromeOS في إصدار Canary للإصدارَين 112 و113. يسمح هذا الإعداد للإضافات على نظام التشغيل ChromeOS بفتح الملفات التي تتضمّن أنواع MIME محدّدة وامتدادات ملفات. لتنفيذ معالجة الملفات، أضِف مجموعة من القواعد إلى manifest.json
. تعمل هذه الميزة بالطريقة نفسها التي تعمل بها تطبيقات الويب التقدّمية. ولمزيد من المعلومات، يمكنك الاطّلاع على المقالة في مكان آخر على هذا الموقع الإلكتروني.
لتفعيل معالجة الملفات:
- بدءًا من الإصدار 112، يمكنك تشغيل متصفِّح Chrome باستخدام العلامة
--enable-features=ExtensionWebFileHandlers
بدايةً من الإصدار 112. - بدءًا من الإصدار 113، الصق
os://flags/#extension-web-file-handlers
في المربّع المتعدد الاستخدامات في Chrome واختَر "مفعّلة" من القائمة المنسدلة.
نأمل إطلاق هذه الميزة في الإصدار 115 من Chrome في أواخر حزيران (يونيو). يُرجى الاطّلاع على هذه الصفحة لمعرفة آخر الأخبار.
نماذج جديدة: نماذج البيانات الديناميكية والإدخال الآلي
لقد أنشأنا نموذجًا جديدًا لواجهة برمجة التطبيقات chrome.scripting
. وتوضح هذه السياسة البيانات الديناميكية، حيث يتم تسجيل نص برمجي للمحتوى في وقت التشغيل، والإدخال الآلي، حيث يتم تنفيذ نص برمجي في علامة تبويب مفتوحة من قبل.
نماذج جديدة: حالات استخدام بيان صافي للطلبات
تتوفّر ثلاث نماذج جديدة توضّح Declarative Net Request API. يوضح كل اختبار تنفيذ حالة استخدام واحدة. الطريقة الأولى توضح كيفية حظر ملفات تعريف الارتباط. يوضح العنوانان المتبقيان الحظر وإعادة توجيه عناوين URL.
Chrome 112: زيادة حصة التخزين.الجلسة
بدايةً من الإصدار 112 من Chrome، تمت زيادة الحصة المخصصة للسمة storage.session
إلى 10 ميغابايت تقريبًا. تمت الموافقة على ذلك في مجموعة منتدى إضافات الويب: https://github.com/w3c/webextensions/issues/350
Chrome 109: المستندات خارج الشاشة
تتوفّر المستندات خارج الشاشة الآن في الإضافات المستنِدة إلى إصدار Manifest V3. وتساعد هذه الميزات في الانتقال من صفحات الخلفية إلى مشغّلي خدمات الإضافات من خلال توفير الدعم للميزات وواجهات برمجة التطبيقات ذات الصلة بنموذج العناصر في المستند (DOM). لمزيد من المعلومات، يُرجى قراءة مشاركة المدونة.
Chrome 110: هل إضافة مفعَّلة
تتحقّق طريقة chrome.action.isEnabled()
آليًا مما إذا تم تفعيل الإضافة لعلامة تبويب محدَّدة. ينقذك هذا من الحفاظ على الحالة المفعَّلة لعلامات التبويب. تأخذ هذه الطريقة الجديدة رقم تعريف علامة تبويب ومرجعًا إلى معاودة الاتصال وتعرض قيمة منطقية. هناك قيد واحد: دائمًا ما تعرض علامات التبويب التي تم إنشاؤها باستخدام chrome.declarativeContent
القيمة false.
(حصلت مساحة الاسم chrome.action
مؤخرًا على طرق جديدة للتحكّم في مظهر شارات الإضافات. لمزيد من المعلومات، اطّلِع على ضبط ألوان الشارة).
Chrome 110: تغيير مهلة عدم نشاط مشغّل الخدمات
في السابق، كان يتم إيقاف تشغيل مشغّل خدمات التمديدات بشكل متكرر عند مرور خمس دقائق. لقد غيّرنا هذا السلوك ليصبح مشابهًا إلى حدّ كبير لعمر عامل الخدمة على الويب. سيتم إيقاف تشغيل مشغّل خدمات الإضافات بعد ثلاثين ثانية من عدم النشاط، أو إذا استغرقت معالجة نشاط واحد أكثر من 5 دقائق. لمزيد من المعلومات، يُرجى الاطّلاع على فترات تمديد مهلة العاملين في الخدمات.
مشاركة: الإيقاف التدريجي للإصدار 2 من ملف البيان
إنّ المخططات الزمنية لإصدار Manifest V2 قيد المراجعة حاليًا، وسيتم تأجيل التجارب التي تم تحديد موعد لها في أوائل عام 2023. لمزيد من المعلومات، يمكنك الاطّلاع على التعديل في مجموعة Google الخاصة بإضافات chrome.
Chrome 110: ضبط ألوان الشارة
تتضمن مساحة الاسم chrome.action
طريقتَين جديدتَين لمنحك إمكانية التحكّم بشكل أكبر في شارات إضافة شكل الظهور. تتيح الطريقتان setBadgeTextColor()
وgetBadgeTextColor()
للإضافة تغيير لون نص الشارة والاستعلام عن رمز شريط الأدوات. وعند استخدامها مع setBadgeBackgroundColor
وgetBadgeBackgroundColor
، تتيح لك هذه الطرق الجديدة تعزيز اتساق التصميم والعلامة التجارية.
مشاركة المدوّنة: مزيد من التفاصيل حول عملية الانتقال إلى إصدار Manifest V3
لقد وضّحنا المخطط الزمني لإيقاف إصدار Manifest V2 نهائيًا. وتم أيضًا تعديل المخطط الزمني للإصدار 2 من Manifest V2 ليعرض هذه المعلومات.
تحديث "مستندات Google": المشاكل المعروفة عند نقل البيانات إلى إصدار Manifest V3
لقد وضعنا قائمة بالميزات الرئيسية التي يتم تطويرها حاليًا وتفتح الأخطاء فيها. ونهدف من خلال هذه الصفحة إلى مساعدة المطوّرين على فهم الوضع الحالي للمنصة بشكلٍ أفضل والميزات التي يمكنهم استهدافها أثناء الاستعداد للمستقبل.
سوق Chrome الإلكتروني: تمت إزالة تحميل صورة "مربّع ترويجي كبير"
أزال سوق Chrome الإلكتروني واجهة مستخدم تحميل "المربّع الترويجي الكبير" من علامة تبويب "بطاقة بيانات المتجر" للسلع في لوحة بيانات المطوّر. لا يؤثّر هذا التغيير في تجربة المستخدم النهائي، لأنّه لم يتم استخدام هذه الصور في واجهة المستخدِم الخاصة بالمستهلك. يمكنك الاطّلاع على مشاركة إضافات chrome هذه للحصول على تفاصيل إضافية.
Chrome 106: السماح للصفحات الموجودة على عناوين URL في file:// بالوصول إلى الموارد التي يمكن الوصول إليها على الويب
ومن المفترض أيضًا أن تتمكن المصادر المعتمة، مثل إطارات iframe في وضع الحماية والاستيراد الديناميكي، من الوصول إلى الموارد التي يمكن الوصول إليها على الويب وفقًا للرابط crbug.com/1219825#c11.
Chrome 106: تم إصلاح خطأ يسمح بالوسيطات النهائية غير الصحيحة في بعض دوال واجهة برمجة التطبيقات غير المتزامنة.
في السابق، كان بإمكان واجهات برمجة التطبيقات غير المتزامنة في Manifest V3 توفير وسيطة أخيرة غير صالحة ولم يكُن Chrome يعرض الخطأ. من خلال هذا الإصلاح، سيخطئ Chrome الآن بشكل صحيح ويبلغ عن عدم وجود توقيع مطابق. ننصح المطوِّرين بالتحقّق من الإضافات في إصدار Canary بحثًا عن أي أخطاء في حال استخدامهم لتوقيع غير صحيح عن طريق الخطأ لطلب بيانات من واجهة برمجة تطبيقات يتعطّل بسبب إصلاح الخطأ هذا.
مشاركة المدوّنة: تجديد إحصاءات "سوق Chrome الإلكتروني"
يقدّم "سوق Chrome الإلكتروني" تجربة مجدَّدة لتحليلات العناصر من أجل لوحة بيانات المطوّر في "سوق Chrome الإلكتروني". من السهل فهم لوحة المعلومات الجديدة بنظرة سريعة ودمج المعلومات الأكثر فائدة في البداية. يُرجى قراءة مشاركة المدونة للاطّلاع على مزيد من المعلومات.
Chrome 105: وعود بواجهة Identity API
توفِّر الدوالّ في Identity API الآن الطلبات المستندة إلى الوعود. يأتي ذلك مع تغيير بسيط في واجهة
identity.getAuthToken()
، حيث سيتضمّن الرجوع غير المتزامن الذي يتم ضبطه على طلب يستند إلى الوعد "رمز مميّز" و "grantedScopes" كمَعلمتَين في عنصر واحد (على عكس إصدار معاودة الاتصال الذي يتلقّاه كوسيطات منفصلة لمعاودة الاتصال).
Chrome 104: واجهة برمجة تطبيقات جديدة للرموز المفضّلة في إصدار Manifest V3
بإمكان الإضافات المستنِدة إلى إصدار Manifest V3 الآن الوصول إلى الرموز المفضّلة باستخدام نمط عنوان URL جديد: chrome-extension://<id>/_favicon/
، حيث يشير chrome://favicons
في الإصدار 2 من Manifest V2. يمكنك الاطّلاع على مستندات Favicon API للحصول على مزيد من المعلومات.
تعديل على "مستندات Google": الإفصاح عن جهة تمويل الإعلان/الجهة غير التجارية
تمت إضافة تعريف المطوّر كتاجر/غير تاجر الذي يطلب من المطوّرين الإفصاح بشكل دقيق عن حالتهم كتاجر/غير تاجر.
Chrome 103: يتطلب Wasm في إصدار Manifest V3 من Wasm-unsafe-eval
لم يعد متصفِّح Chrome يمنح الإضافات script-src: wasm-unsafe-eval
تلقائيًا. على الإضافات التي تستخدم
WebAssembly أن تضيف الآن هذا التوجيه والقيمة بشكل صريح إلى extension_pages
في
نماذج البيانات content_security_policy
الخاصة بها.
Chrome 103: تسري تغييرات اختصارات الإصدار MV3 على الفور
عند تغيير اختصار لوحة المفاتيح "لإضافة Manifest V3" في "chrome://extensions/shortcuts
"،
يتم الآن تطبيق التحديثات على الفور. في السابق، كان يجب إعادة تحميل الإضافة قبل أن يدخل التغيير حيز التنفيذ.
Chrome 102: النصوص البرمجية للمحتوى الديناميكي في العالم الرئيسي
يمكن الآن للنصوص البرمجية للمحتوى المسجّل ديناميكيًا أن تحدّد
العالم الذي سيتم إدخال مواد العرض فيه. راجِع
scripting.registerContentScripts()
للاطّلاع على التفاصيل.
Chrome 102: حقل البيان الجديد "optional_host_permissions"
يمكن للإضافات المستنِدة إلى إصدار Manifest V3 الآن تحديد مفتاح optional_host_permissions
في ملفManifest.json. ويتيح ذلك للإضافات المستنِدة إلى إصدار Manifest V3 تحديد أنماط مطابقة اختيارية للمضيفين مثلما يمكن للإضافات المستنِدة إلى إصدار Manifest V2 استخدام مفتاح optional_permissions
.
Chrome 102: الخاصية injectImmediately في Scripting.executeScript() .
تقبل chrome.scripting.executeScript()
الآن سمة injectImmediately
الاختيارية في الوسيطة injection
الخاصة بها. وفي حال استخدام هذه العلامة وضبطها على "صحيح"، سيتم إدخال النص البرمجي في الهدف في أقرب وقت ممكن، بدلاً من انتظار document_idle
. يُرجى العِلم أنّ هذا لا يضمن إدخال النص البرمجي قبل
تحميل الصفحة لأنّ الصفحة تستمر في التحميل أثناء إجراء طلب البيانات من واجهة برمجة التطبيقات.
Chrome 102: إتاحة واجهة برمجة التطبيقات للمربّع المتعدد الاستخدامات في إصدار Manifest V3
يمكن الآن استخدام Shared API في الإضافات المستندة إلى عاملي الخدمة. في السابق، كانت بعض طرق واجهة برمجة التطبيقات هذه تفرض الاستدعاء بسبب التبعيات الداخلية على إمكانات DOM.
Chrome 102: مسموح باستخدام Wam-unsafe-eval في Manifest V3 CSP
يمكن أن تتضمّن الإضافات المستنِدة إلى إصدار Manifest V3 الآن wasm-unsafe-eval
في بيان content_security_policy
الخاص بها. من خلال هذا التغيير، يمكن للإضافات المستنِدة إلى إصدار Manifest V3 استخدام WebAssembly.
Chrome 102: واجهة برمجة تطبيقات جديدة Storage.session
يمكن الآن استخدام الإضافات المستنِدة إلى إصدار Manifest V3 في مساحة تخزين الذاكرة storage.session .
تحديث "مستندات Google": اكتشاف عناصر "سوق Chrome الإلكتروني"
يوفّر قسم الاكتشاف في "سوق Chrome الإلكتروني" نظرة عامة حول كيفية عثور المستخدمين على العناصر في "سوق Chrome الإلكتروني" وطريقة اختيار المحرّرين للعناصر التي تريد إبرازها.
Chrome 101: شروط نطاق declarativeNetRequest المحسّنة
تم تعديل شروط قاعدة declarativeNetRequest للسماح للإضافات باستهداف الطلبات بشكل أفضل استنادًا إلى نطاقَي "الطلب" و"المُبدئ" للطلب. وسمات الشرط ذات الصلة هي initiatorDomains
وexcludedInitiatorDomains
وrequestDomains
وexcludedRequestDomains
. يمكنك الاطّلاع أيضًا على
سلسلة محادثات إضافات Chromium هذه.
Chrome 100: تم حل المشكلة المتعلقة بـ scripting.executeScript() في علامات التبويب التي تم إنشاؤها حديثًا.
تم إصلاح مشكلة طويلة الأمد تسبّبت في تعذُّر استدعاء scripting.executeScript()
على علامة تبويب أو نافذة تم إنشاؤها حديثًا.
Chrome 100: منفذ المراسلة الأصلي يبقي عامل الخدمة على قيد الحياة
ومن المفترض أن يؤدي الاتصال بمضيف المراسلة مع التطبيقات الأصلية باستخدام chrome.runtime.connectNative()
في
مشغّل خدمات الإضافة إلى إبقاء عامل الخدمة نشطًا ما دام المنفذ مفتوحًا.
Chrome 100: يتوافق مربّع.setDefaultمُقترَحion() مع الوعود وطلبات معاودة الاتصال.
تعرض الطريقة
omnibox.setDefaultSuggestion()
الآن وعودًا أو تقبل معاودة الاتصال للسماح للمطوّرين بتحديد الوقت المناسب لضبط الاقتراح.
Chrome 100: دعم i18n.getMessage() في مشغّلي خدمات الإضافات
أصبحت واجهة برمجة التطبيقات chrome.i18n.getMessage()
API متوافقة الآن
في سياقات مشغّلي خدمات الإضافات.
Chrome 99: Match_origin_as_fallback في إصدار Canary
يمكن للنصوص البرمجية للمحتوى الآن تحديد المفتاح match_origin_as_fallback
لإدخالها في الإطارات ذات الصلة بإطار مطابق، بما في ذلك الإطارات التي تتضمّن عناوين URL about:
وdata:
وblob:
وfilesystem:
. يمكنك الاطّلاع على مستندات النصوص البرمجية للمحتوى للحصول على التفاصيل.
Chrome 99: دعم مشغّل خدمات الإضافات للملف: المخططات في إصدار Canary
أصبح بإمكان إضافات Manifest V2 وManifest V3 المستندة إلى عاملَي الخدمة استخدام Fetch API لطلب عناوين URL لنظام file:
. لا يزال الوصول إلى عناوين URL لنظام file:
يتطلّب من المستخدم تفعيل خيار "السماح بالوصول إلى عناوين URL للملفات" للإضافة في صفحة chrome://extensions
.
Chrome 99: وعد بتوفير الدعم لواجهات برمجة تطبيقات المراسلة في إصدار Canary
وعدنا بمنح إمكانية الوصول إلى حزمة
tabs.sendMessage
وruntime.sendMessage
وruntime.sendNativeMessage
للإضافات التي تم إنشاؤها للإصدار 3 من ملف البيان.
تحديث "مستندات Google": مستندات المراجعة في "سوق Chrome الإلكتروني"
تمت إضافة صفحة مرجعية جديدة توفّر نظرة عامة على عملية المراجعة في "سوق Chrome الإلكتروني" وتوضّح كيفية تنفيذ سياسات المطوّرين.
Chrome 98: يقبل Scripting.executeScript() وscripting.insertCSS() ملفات متعددة.
تقبل الآن طريقتا executeScript()
وinsertCSS()
الخاصة بـ Scripting API عدة ملفات. كانت هذه الطرق تتطلب في السابق صفيفًا مع إدخال ملف واحد.
تعديل على "مستندات Google": مراجعة التعديلات المتعلقة بتحديد مشاكل المخالفات وحلّها
تم تعديل صفحة تحديد المشاكل المتعلّقة بانتهاكات "سوق Chrome الإلكتروني" وحلّها لتزويد المطوّرين بإرشادات أكثر تفصيلاً عن الأسباب الشائعة للرفض.
Chrome 96: توفير 27 واجهة برمجة تطبيقات إضافية في المستقبل
يتضمّن هذا الإصدار تعديلات على وعود أكبر بكثير من أي إصدار سابق. تشمل التحديثات كلاً من واجهات برمجة التطبيقات للإضافات العامة والخاصة بنظام التشغيل ChromeOS. وسِّع الأقسام التالية للاطّلاع على التفاصيل.
واجهات برمجة التطبيقات للإضافات
يتوافق عدد من واجهات برمجة التطبيقات الآن مع الوعود في الإصدار 3 من Manifest V3.
chrome.browsingData
chrome.commands
chrome.contentSettings
chrome.debugger
chrome.downloads
chrome.enterprise.hardwarePlatform
chrome.fontSettings
chrome.history
chrome.instanceID
chrome.permissions
chrome.processes
chrome.search
chrome.sessions
chrome.topSites
أيضًا، أصبحت واجهات برمجة التطبيقات التي تستخدم
النموذج الأولي لـ ChromeSetting
تدعم الآن الوعود. تتأثر واجهات برمجة التطبيقات التالية بهذا التغيير.
واجهات برمجة التطبيقات لنظام التشغيل ChromeOS
chrome.certificateProvider
chrome.documentScan
chrome.enterprise.deviceAttributes
chrome.enterprise.networkingAttributes
chrome.fileBrowserHandler
chrome.fileSystemProvider
chrome.loginState
chrome.printingMetrics
chrome.wallpaper
Chrome 96: النصوص البرمجية للمحتوى الديناميكي
تتيح واجهة برمجة التطبيقات chrome.scripting
API الآن إمكانية
التسجيل،
وتعديلها،
وإلغاء التسجيل، والحصول على قائمة من النصوص البرمجية للمحتوى
في وقت التشغيل. في السابق، كان من الممكن الإعلان بشكل ثابت عن النصوص البرمجية للمحتوى في ملف manifest.json الخاص بالإضافة، أو تضمينها آليًا في وقت التشغيل باستخدام chrome.scripting.executeScript()
.
تحديث "مستندات Google": المخطط الزمني لإصدار Manifest V2
تم الإعلان في مشاركة المدونة هذه عن المخطط الزمني للإصدار Manifest V2 إلى V3، وتم نشر صفحة مخطط زمني أكثر تفصيلاً.
Chrome 96: إذن declarativeNetRequestWithHostAccess
يسمح إذن declarativeNetRequestWithHostAccess
الجديد للإضافات باستخدام واجهة برمجة التطبيقات
chrome.declarativeNetRequest
على المواقع الإلكترونية التي تمتلك الإضافة أذونات مضيف لها. يؤدي ذلك أيضًا إلى تفعيل الإضافات المستنِدة إلى إصدار Manifest V2 الحالية التي تستخدم
أذونات webRequest
وwebRequestBlocking
والمضيف الخاص بالموقع الإلكتروني لنقل البيانات إلى واجهة
chrome.declarativeNetRequest
API بدون
أن تطلب من المستخدم الموافقة على الأذونات الجديدة.
Chrome 95: إدخال النصوص البرمجية مباشرةً في الصفحات
يمكن الآن لطريقة chrome.scripting
API في
executeScript()
إدخال نصوص برمجية مباشرةً في العالم الرئيسي للصفحة. في السابق، كان من الممكن إدخال الإضافات مباشرة
في عالم الإضافات المعزولة فقط. لمزيد من المعلومات حول العوالم المعزولة، راجِع مستندات النصوص البرمجية للمحتوى.
Chrome 95: وعد باعتماد واجهة برمجة التطبيقات Storage API
إنّ الطرق المتاحة في إصدار Manifest V3 من واجهة برمجة التطبيقات chrome.storage
تعرض الآن الوعود.
تعديل على السياسة: فرض ميزة "التحقّق بخطوتين"
تم تعديل مشاركة المدونة الخاصة بتعديل السياسة التي تم نشرها في 29 حزيران (يونيو) 2021 لتصحيح المخطط الزمني لنشر ميزة "التحقّق بخطوتين".
Chrome 94: التغييرات التعريفية في مجموعة القواعد الثابتة للطلب
تتيح chrome.declarativeNetRequest
الآن
تحديد ما يصل إلى 50 مجموعة قواعد ثابتة
(MAX_NUMBER_OF_STATIC_RULESETS)
وتفعيل ما يصل إلى 10 مجموعات
(MAX_NUMBER_OF_ENABLED_STATIC_RULESETS)
في آن واحد.
Chrome 93: إتاحة العزل من مصادر متعددة
يمكن الآن لكل من الإضافتَين Manifest V2 وManifest V3 تفعيل عزل المحتوى من جميع المصادر. تحدِّد هذه الميزة الموارد المتعدّدة المصادر التي يمكنها تحميل صفحات الإضافة وتتيح استخدام ميزات النظام الأساسي للويب المنخفضة المستوى، مثل SharedArrayBuffer
. يجب الموافقة على استخدام الإصدار 95 من Chrome.
تعديل على السياسة: تم تعديل سياسات برنامج المطوّرين
تم تعديل سياسات المطوّرين في "سوق Chrome الإلكتروني" من خلال إضافة توضيحات إلى أساليب التثبيت المخادعة والمحتوى غير المرغوب فيه والمحتوى المتكرّر. يشمل هذا التحديث أيضًا متطلّبًا جديدًا من ميزة "التحقّق بخطوتين" للنشر في "سوق Chrome الإلكتروني". يُرجى قراءة مشاركة المدونة للاطّلاع على مزيد من المعلومات.
مشاركة المدوّنة: إجراءات الإضافات في الإصدار 3 من ملف البيان
تضمّنت إضافات Chrome واجهات برمجة تطبيقات chrome.browserAction
وchrome.pageActions
لسنوات، ولكن حلّ إصدار Manifest
V3 محل إصدارَي كل منهما بواجهة برمجة تطبيقات chrome.actions
عامة. سنتعرّف في هذه المشاركة على سجلّ واجهات برمجة التطبيقات هذه والتغييرات التي تم إجراؤها في الإصدار 3 من Manifest V3. قراءة المشاركة
مشاركة المدوّنة: لمحة عن chrome.scripting
chrome.scripting
API هي واجهة برمجة تطبيقات Manifest V3 جديدة تركِّز على البرمجة النصية. في هذه المشاركة، نتعمق في دوافع هذا التغيير ونلقي نظرة عن كثب على
الإمكانات الجديدة. قراءة المشاركة
Chrome 92: دعم مشغّل خدمات الوحدات
يدعم Chrome الآن وحدات JavaScript في مشغِّلي الخدمات. لتحديد وحدة في البيان:
"background": {
"service_worker": "script.js",
"type": "module"
}
يؤدي ذلك إلى تحميل النص البرمجي للعامل كوحدة ES، ما يتيح لك استخدام الكلمة الرئيسية import
في النص البرمجي للعامل لاستيراد وحدات أخرى.
Chrome 91: chrome.action.getUserSettings()
تتيح الطريقة
chrome.action.getUserSettings()
الجديدة
للإضافات تحديد ما إذا كان المستخدم قد ثبَّت الإضافة في شريط الأدوات الرئيسي.
Chrome 90: chrome.scripting.removeCSS()
تتيح الطريقة chrome.scripting.removeCSS()
الجديدة
للإضافات إزالة CSS التي تم إدراجها سابقًا من خلال chrome.scripting.insertCSS()
. إنه
يحل محل chrome.tabs.removeCSS()
.
Chrome 90: عرض الوعود من Scripting.executeScript()
تتيح أداة chrome.scripting.executeScript()
الآن
إعادة تنفيذ الوعود. إذا كانت القيمة الناتجة لتنفيذ النص البرمجي هي وعودًا، سينتظر Chrome
حتى يستقر الوعد ويعرض القيمة الناتجة.
Chrome 90: chrome.scripting.executeScript() تشمل windowId
تشمل النتائج التي تم إرجاعها من
chrome.scripting.executeScript()
الآن frameId.
تشير السمة frameId
إلى الإطار الذي تأتي منه النتيجة، ما يسمح للإضافات بربط النتائج بسهولة
بإطارات فردية عند إدخالها في إطارات متعددة.
Chrome 89: واجهة برمجة تطبيقات جديدة لإدارة مجموعات علامات التبويب
تتيح واجهة برمجة التطبيقات chrome.tabGroups
الجديدة والإمكانات الجديدة في
chrome.tabs
للإضافات قراءة مجموعات علامات التبويب ومعالجتها.
يجب استخدام إصدار Manifest V3.
Chrome 89: أذونات قابلة للتخصيص للموارد التي يمكن الوصول إليها على الويب
تم تغيير تعريفات الموارد التي يمكن الوصول إليها على الويب في ملف البيان V3 للسماح للإضافات بحظر الوصول إلى الموارد بناءً على أصل مقدِّم الطلب أو رقم تعريف الإضافة.
مشاركة المدونة: أداة تحويل بيان الإضافة
يوفّر فريق "إضافات Chrome" "محوّل بيان الإضافات" مفتوح المصدر، وهي أداة Python تنفّذ تلقائيًا بعض الجوانب الميكانيكية لتحويل الإضافات إلى إصدار Manifest V3. يمكنك الاطّلاع على مشاركة مدونة الإعلان والحصول عليها من GitHub.
Chrome 88: الإصدار 3 من Manifest V3 المتوفّر للجميع
إصدار Manifest V3 هو تحديث رئيسي على النظام الأساسي للإضافات. يُرجى الاطّلاع على نظرة عامة على إصدار Manifest V3 للحصول على ملخّص عن الميزات الجديدة التي تم تغييرها. قد تستمر الإضافات في استخدام إصدار Manifest V2 في الوقت الحالي، ولكن سيتم إيقاف هذه الميزة في المستقبل القريب. وننصحك بشدة باستخدام الإصدار 3 من Manifest V3 مع أي إضافات جديدة، والبدء بنقل الإضافات الحالية إلى إصدار Manifest V3 في أقرب وقت ممكن.