راجِع هذه الصفحة كثيرًا للتعرّف على التغييرات التي تطرأ على إضافات Chrome أو مستندات الإضافات أو السياسات ذات الصلة أو التغييرات الأخرى. وستعثر على إشعارات أخرى تم نشرها في مجموعة Google للإضافات. يسرد الجدول الزمني في Chrome تواريخ الإصدارات الثابتة والتجريبية.
فيديو: ما المقصود بالرمز المستضاف عن بُعد؟
ويفسّر "باتريك" من فريق إضافات Chrome مفهوم الرمز المستضاف عن بُعد (RHC) في إضافات Chrome. تعرَّف على سبب عدم السماح باستخدام RHC، وكيفية اكتشافه، والإجراءات التي يجب اتخاذها إذا كانت الإضافة بحاجة إلى التعديل. مشاهدة الفيديو الكامل
Chrome 127: واجهة برمجة تطبيقات جديدة action.openPopup
بدءًا من Chrome 127، تتوفر واجهة برمجة التطبيقات action.openPopup
لجميع الإضافات. في السابق، لم يكن متاحًا إلا في إصدار Canary
أو للإضافات التي تم تثبيتها بموجب سياسة.
فيديو: مقابلة مع فريق الثقة والسلامة
التقى فريق مطوري إضافات Chrome مع فريق الثقة والسلامة الذي يقود المراجعة في سوق Chrome الإلكتروني لطرح أسئلتك. مشاهدة الفيديو الكامل
مشاركة مدونة: بدء عملية إيقاف إصدار Manifest V2 تدريجيًا
اعتبارًا من 3 حزيران (يونيو) على قناة Chrome التجريبية وقنوات مطوّري البرامج وقنوات إصدار Canary، إذا كانت الإضافات لا تزال مثبّتة ضِمن إصدار Manifest V2، سيظهر بانر تحذير لبعض المستخدمين عند الانتقال إلى صفحة إدارة الإضافات (chrome://extensions) لإبلاغهم بأنّ بعض الإضافات (إصدار Manifest V2) التي تم تثبيتها ستتوقف عن العمل قريبًا. يمكنك قراءة المزيد من المعلومات في الإعلان الرسمي
تعديلات على واجهة مستخدم اللوحة الجانبية
لقد أجرينا مؤخرًا بعض التغييرات على واجهة مستخدم اللوحة الجانبية، بما في ذلك إضافة رمز تثبيت وإزالة رمز اللوحة الجانبية العمومي. يمكنك الاطّلاع على مزيد من المعلومات في إشعار الخدمة العامة (PSA) والاطّلاع على المستندات والنماذج المعدّلة.
مشاركة مدوّنة: إضافات Chrome في مؤتمر Google I/O لعام 2024
بمناسبة انعقاد مؤتمر Google I/O، تناولنا كل تحديثات الإضافات المشوّقة. يمكنك الانتقال إلى YouTube لمشاهدة الفيديو الكامل وقراءة مشاركة المدوّنة للاطّلاع على بعض اللحظات المميّزة.
تخطي مراجعة التغييرات المؤهلة لـ Delarative Net Request
يتيح لك "سوق Chrome الإلكتروني" الآن تخطّي مراجعة التغييرات المؤهَّلة عند استخدام واجهة برمجة التطبيقات Declarative Net Request API. تعرّف على مزيد من المعلومات حول الأهلية وكيفية التفعيل في مستندات "سوق Chrome الإلكتروني".
تفعيل "النسبة المئوية" المتاحة في واجهة برمجة التطبيقات في "سوق Chrome الإلكتروني"
لقد عدَّلنا مؤخرًا مستندات واجهة برمجة التطبيقات في "سوق Chrome الإلكتروني" لتضمين معلومات عن deployPercentage
، ما يتيح لك تحديد نسبة مئوية من عملية الطرح الجزئي. مزيد من المعلومات عن deployPercentage
Chrome 126: مراحل التجربة والتقييم في الإضافات
يقدِّم Chrome 126 حقليًا جديدًا بتنسيق ملف البيان.json، وهو trial_tokens
، ما يتيح لك تفعيل مرحلة التجربة والتقييم والإيقاف النهائي على مستوى جميع مساحات عرض الإضافات. اطّلِع على الدليل لمزيد من المعلومات.
مشاركة مدونة: التغييرات في إضافات Chrome - أبريل 2024
لقد نشرنا إصدارًا جديدًا من ما يحدث في إضافات Chrome. يناقش المنشور ما كان يعمل عليه فريق الإضافة خلال الأشهر القليلة الماضية. ويشمل ذلك: العودة إلى الإصدار السابق من "سوق Chrome الإلكتروني"، ودعم "مصادقة Firebase" بشكل أفضل والمزيد من عمليات إطلاق وتحديثات واجهة برمجة التطبيقات.
العودة إلى الإصدارات السابقة من لوحة بيانات المطوّر في "سوق Chrome الإلكتروني"
إعادة إضافتك إلى الإصدار السابق المنشور في "سوق Chrome الإلكتروني" بدون مراجعة إضافية يمكنك الاطّلاع على مشاركة المدونة والمستندات لمزيد من المعلومات.
Chrome 124: واجهة برمجة التطبيقات Advanced DocumentScan API
تتوفّر الآن واجهة برمجة تطبيقات documentScan
متقدّمة
على نظام التشغيل ChromeOS لاكتشاف الصور واستردادها من
الماسحات الضوئية للمستندات المرفقة.
Chrome 124: التوافق مع WebGPU في "مشغّلي الخدمات"
منذ الإصدار 124 من Chrome، يدعم مشغّلو الخدمات استخدام WebGPU. للبدء بسرعة، يُرجى الاطّلاع على نموذج إضافة WebGPU.
Chrome 123: تتيح واجهة برمجة التطبيقات للأحداث الفلترة حسب مجموعات CIDR.
تتيح واجهة Events API الآن إمكانية الفلترة
عن طريق عمليات حظر التوجيه بين النطاقات غير الفئوي (CIDR). كتلة CIDR هي مجموعة من عناوين IP التي تشترك في بادئة شبكة ونفس عدد وحدات البت. في السابق، كان يحتاج مطوّر إلى فلترة عدة عناوين IP كان عليها إعداد قاعدة فلتر لكل عنوان من العناوين في نطاق الحظر. عند استدعاء إضافة الآن
addListener()
، تعني القاعدة التي تم تمريرها أن معالج الحدث سيتم استدعاءه فقط
عندما يكون جزء المضيف من عنوان URL هو عنوان IP ويكون متوفرًا في أي من مجموعات CIDR
المحددة في مصفوفة.
سوق Chrome الإلكتروني: تعديلات على متطلبات طول اسم الإضافة
هناك الآن حد عام في "سوق Chrome الإلكتروني" يبلغ 75 حرفًا في حقل الإضافة "name"
في ملف manifest.json. في السابق، كان الحدّ الأقصى المسموح به في اللغة الإنجليزية هو 45 حرفًا،
ولم تكن هناك أي قيود على الحقل "name"
في اللغات الأخرى.
كان الهدف الأساسي من ذلك هو توفير اختلافات ثقافية ولغوية قد لا يتم تسجيلها بنفس عدد الأحرف. للأسف، أساء عدد قليل من المطوّرين استخدام هذه الميزة لإرسال محتوى غير مرغوب فيه إلى المتجر. ونتيجةً لذلك، سنطرح حدًا عامًا جديدًا يزيد عن 75 حرفًا. يشمل هذا الحد جميع الإضافات تقريبًا في المتجر اليوم، لذلك من غير المرجح أن تحتاج إلى اتخاذ أي إجراء نتيجةً لهذا التغيير. وإذا حاولت تحميل إضافة تحمل اسمًا أطول من الحد الأقصى المسموح به، سيتم حظر عملية التحميل من قِبل المتجر.
مشاركة مدونة: رحلة عين لاختبار تعليق عاملي الخدمات
في هذه المشاركة التي نشرها فريق محرّك الإضافات eyeo، سنتعرّف على مشكلة اختبار موظفي خدمات الإضافات. في Manifest V2، كانت الإضافات متوفّرة في صفحة الخلفية، والتي كانت نشِطة طوال دورة حياة الإضافة. يستخدم إصدار Manifest V3 موظفي الخدمة بدلاً من ذلك، ويحافظ موظفو الخدمة على الموارد من خلال إيقاف التشغيل عند عدم الحاجة إليه. هذا يمثل بعض تحديات الاختبار. تشرح هذه المشاركة كيف تعاملت العين مع هذه التحديات.
Chrome 123: يتم تشغيل التنبيهات الآن عندما يكون الجهاز في وضع السكون
لن يتم تأجيل المنبّهات المضبوطة باستخدام واجهة برمجة التطبيقات chrome.alarms
عندما ينتقل الجهاز إلى وضع السكون. عندما يستيقظ الجهاز، سيصدر
الإنذار مرة واحدة بغض النظر عن عدد المنبهات التي فاتتك. لنفترض مثلاً أنّه تم ضبط المنبّه ليرنّ مرة كل ساعة وكان الجهاز الذي يستخدمه في وضع السكون من الساعة 12:55 صباحًا إلى الساعة 2:05 صباحًا، وبعد ذلك لن يبدأ حدث "onAlarm
" إلا منبه الساعة 2:00 صباحًا.
وسيتم تنشيطه في أقرب وقت ممكن من الساعة 2:00 صباحًا، وعلى الفور عندما ينشط الجهاز إذا كان في وضع السكون.
يؤدي هذا التغيير إلى توافق Chrome مع السلوك المتفق عليه في مجموعة منتدى إضافات الويب.
مشاركة مدونة: تغييرات في سلوك ميزة "التخزين المؤقت للصفحات" باستخدام منافذ رسائل الإضافات
التخزين المؤقت للصفحات (bfcache) عبارة عن تحسين للمتصفّح يتيح التنقّل الفوري للأمام وللخلف. بدءًا من
Chrome 123، عند تخزين صفحة ذات منفذ إضافة مفتوح في bfcache، يتم إغلاق قناة الرسائل، ما يعني أنّه لن يتم إرسال أي رسائل إلى هذه الصفحة.
وبالتالي، يجب أن تستجيب النصوص البرمجية للإضافة إلى أحداث مراحل النشاط مثل
onDisconnect
وإعداد اتصال جديد عند استعادة الصفحة من BFcache.
لمزيد من المعلومات ونماذج الرمز، يُرجى الاطّلاع على التغييرات في سلوك BFcache باستخدام منافذ رسائل الإضافات.
Chrome 122: تقديم وعود بتوفير الدعم بشأن واجهات برمجة التطبيقات للإضافات غير المتزامنة
لقد انتهينا من تنفيذ توافق Promise لكل طُرق واجهة برمجة تطبيقات الإضافات غير المتزامنة. وقد تم ذلك لتحديث طرق واجهة برمجة التطبيقات من خلال تحسين بيئة التعامل مع العمليات غير المتزامنة. وهناك عدد من الطرق (مثل desktopCapture.chooseDesktopMedia()
) تستمر في إتاحة معاودة الاتصال فقط
لأن مساحات العرض الحالية غير متوافقة مع Promise. للتوافق مع الإصدارات القديمة،
لا تزال عمليات معاودة الاتصال متوافقة. إذا وجدت وعودًا غير صحيح،
يُرجى الإبلاغ عن خطأ.
إرشادات جديدة للتواصل في الوقت الفعلي
لقد نشرنا للتو أدلة حول خيارات الوقت الفعلي في الإضافات. توفِّر التحديثات في الوقت الفعلي مسار اتصال فوري من خوادمك إلى عمليات تثبيت الإضافات مباشرةً. بالإضافة إلى ذلك، لدينا إرشادات جديدة حول استخدام chrome.gcm وWeb Push.
إرشادات ونموذج جديدان: اختبار إنهاء العاملين في الخدمات
لقد نشرنا للتو دليلاً حول كيفية اختبار إنهاء مشغّل الخدمات باستخدام Puppeteer. ويوضّح العينة المصاحبة ذلك في الدمى المتحركة والسيلينيوم.
نموذج معدَّل للمراسلة الأصلية
لقد نشرنا للتو نموذجًا محدّثًا للرسائل الأصلية. تسمح واجهة برمجة التطبيقات هذه للإضافة ببدء الاتصال مع تطبيق آخر والتواصل معه. نشكر المساهم في GitHub Shubham-Rasal على جهوده المبذولة في هذا الإطار.
Chrome 121: موقع جديد تم الوصول إليه مؤخرًا في علامات التبويب
تمت إضافة سمة جديدة باسم lastAccessed
إلى العنصر tabs.Tab
. تشير هذه السمة إلى آخر مرة تم فيها تفعيل علامة التبويب. وتكون القيمة المعروضة بالمللي ثانية منذ تاريخ بدء حساب الفترة.
Chrome 121: مفاتيح "الخلفية" غير المتوافقة تُصدر تحذيرًا الآن
في إطار التغيير من إصدار Manifest V2 إلى إصدار Manifest V3، تم تغيير العناصر الثانوية لمفتاح البيان ""background"
" لكي يتم استبدال النصوص البرمجية للخلفية بموظفي خدمة الإضافات. في السابق، كانت تؤدي إضافة مفاتيح Manifest V2 "scripts"
أو "page"
أو "persistent"
إلى مفتاح "background"
في الإضافة Manifest V3 إلى حدوث خطأ. يؤدي وجود هذه المفاتيح إلى ظهور تحذير.
ويتم إجراء ذلك لتفعيل استخدام ملف بيان واحد في الإضافات في عدة متصفّحات، وفقًا لاقتراح في مجموعة المنتدى.
Chrome 120: تم تقليل الحد الأدنى لدقة المنبّه إلى 30 ثانية
بدءًا من الإصدار 120 من Chrome، يمكن للإضافات المستنِدة إلى إصدار Manifest V3 استخدام واجهة برمجة التطبيقات chrome.alarms
في حالات التأخير أو الفترات التي تبلغ 30 ثانية، بدلاً من طلب قيم تبلغ 60 ثانية أو أكثر.
مشاركة مدونة: استئناف عملية الانتقال إلى الإصدار Manifest V3
تم تعديل المخطط الزمني لإصدار Manifest V2. يمكنك الاطّلاع على مشاركة المدونة لشهر تشرين الثاني (نوفمبر) 2023 لمعرفة التفاصيل.
مشاركة مدوّنة: تحسينات على إتاحة فلترة المحتوى في الإصدار Manifest V3
يمكنك التعرّف على التحسينات التي أجريناها على واجهة برمجة التطبيقات declarativeNetRequest API في مشاركة المدونة الجديدة.
مشاركة مدونة: الميزات الجديدة في Chrome 120 للإضافات
تم إطلاق الإصدار التجريبي من Chrome 120 مؤخرًا. للحصول على ملخص بالتحديثات المهمة ذات الصلة بمطوّري الإضافات، يمكنك الاطّلاع على مشاركة المدونة الجديدة: الميزات الجديدة في Chrome 120 للإضافات. يمثّل هذا الإصدار أيضًا إنجازًا رئيسيًا لأنّه يزيل العنصرَين الأخيرَين (userScripts، معالِج الملفات في ChromeOS) من قائمة الثغرات الأمنية المُهمّة في النظام الأساسي.
PSA: تغيير في التعامل مع عناوين URL الخاصة بسياسة الخصوصية في لوحة بيانات المطوّر
تتم الآن إضافة سياسات الخصوصية في لوحة بيانات المطوّر على مستوى العنصر. ويسمح لك ذلك بتقديم سياسة خصوصية مختلفة لكل عنصر. يمكنك الاطّلاع على المزيد من المعلومات حول هذا التغيير في خدمة الخدمة العامة لدينا.
فيديو: محادثة مع "مات فريسبي"
لقد نشرنا للتو فيديو جديدًا على قناة Chrome for Developers على YouTube يتحدث مع خبير المطوّرين في Google والمؤلف "مات فريسبي". يمكنك مشاهدته هنا.
إرشادات جديدة بشأن اختبار الإضافات
لقد نشرنا للتو إرشادات جديدة حول كيفية كتابة اختبارات مبرمجة للإضافات، بما في ذلك كيفية كتابة اختبارات الوحدات وإرشادات عامة ودليل تعليمي حول الاختبار الشامل.
مشاركة مدونة: التغييرات في إضافات Chrome - تشرين الأول (أكتوبر) 2023
لقد نشرنا للتو الإصدار الثاني من ما يحدث في إضافات Chrome. تناقش المشاركة المشاكل التي بذلها فريق التمديد خلال الأشهر القليلة الماضية، بما في ذلك معالجة المشاكل المتعلّقة باستقرار مشغّلي الخدمات وإحراز تقدّم جيد على صعيد جميع الثغرات في منصة MV3. ونشارك أيضًا إصدارات مشوّقة من واجهات برمجة التطبيقات، مثل واجهة برمجة التطبيقاتReading List وUser Scripts API.
زيادة الحدود القصوى لعدد قواعد مجموعات القواعد الثابتة في واجهة برمجة التطبيقات Delarative Net Request API
استجابة للملاحظات في مجموعة منتدى إضافات الويب، قررنا زيادة الحد المفروض على مجموعات القواعد الثابتة المفعَّلة من 10 إلى 50. بالإضافة إلى ذلك، سنزيد إجمالي عدد مجموعات القواعد الثابتة المسموح بها من 50 إلى 100. تتوفّر هذه الميزة حاليًا في إصدار Canary.
إرشادات محسَّنة بشأن الرموز البرمجية المستضافة عن بُعد
أحد متطلبات إصدار Manifest V3 هو أنّه قد لا تستخدم الإضافات رمزًا برمجيًا مستضافًا عن بُعد. على الرغم من أنّ هذا الدليل كان جزءًا من دليل نقل البيانات منذ البداية، نعتقد أنّه يستحق تحسين الإرشادات المتعلّقة بهذه المشكلة. توفّر هذه الصفحة الآن المزيد من المعلومات، وتصف الميزات التي ما زالت متاحة في الإصدار Manifest V3 وتقدّم المزيد من المعلومات حول استراتيجيات الترقية.
يمكنك الاطّلاع على إضافة ذات صلة إلى المقالة تحديد المشاكل المتعلّقة بانتهاك السياسات في "سوق Chrome الإلكتروني" وحلّها. يصف قسم جديد الأسباب الشائعة لرفض الإضافات التي تحتوي على رمز مستضاف عن بُعد.
Chrome 118: isUrlFilterCasesensitive الآن القيمة التلقائية "false"
بدايةً من الإصدار 118 من Chrome، تم تغيير السمة isUrlFilterCaseSensitive
في واجهة برمجة التطبيقات chrome.declarativeNetRequest إلى واجهة برمجة التطبيقات التلقائية إلى false
. إذا أردت الاحتفاظ بالسلوك القديم، يمكنك ضبط isUrlFilterCaseSensitive
بشكل صريح على true
في
قواعد declarativeNetRequest.
وبعد ذلك، تتمّ متابعة المناقشات في مجموعة منتدى إضافات الويب. تم تنفيذ تغيير مماثل من قبل في Firefox وSafari.
وثائق حول ملفات تعريف الارتباط وواجهات برمجة تطبيقات التخزين على الويب
نشرنا دليلاً جديدًا حول آلية عمل ملفات تعريف الارتباط وواجهات برمجة التطبيقات لتخزين الويب في إضافات Chrome. تتضمّن "مبادرة حماية الخصوصية" (Privacy Sandbox) تفاصيل حول التغييرات المتعلّقة بتقسيم ملفات تعريف الارتباط وسعة التخزين، وهي مشروع جارٍ لإيقاف ملفات تعريف الارتباط التابعة لجهات خارجية نهائيًا من خلال إنشاء سلسلة من واجهات برمجة التطبيقات الجديدة لمنصات الويب، بالإضافة إلى تفاصيل حول طريقة عملها في الإضافات.
نماذج الإضافات قابلة للبحث الآن
لقد أنشأنا مؤخرًا صفحة تتيح لك البحث في نماذج إضافات Chrome. تتضمن صفحة البحث خيارات متعددة. يتيح لك مربّع البحث البحث عن نص في نماذج العناوين. يمكنك حصر البحث باستخدام الإذن أو واجهة برمجة تطبيقات الإضافة. يتيح لك فلتر إضافي حصر البحث إما بالعينات الوظيفية (في حالة الاستخدام) أو واجهات برمجة التطبيقات.
تم إنشاء هذا النموذج الجديد من قِبل المشارك في برنامج Google Summer of Code، وهو "شويزو داي"، والذي ساهم أيضًا بعدة نماذج جديدة. يمكنك قراءة تجاربهم خلال الصيف الماضي في مشاركتهم على مدونتنا.
كما في السابق، لا تزال عيّنات التعليمات البرمجية متاحة على 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 أثناء التطوير المحلي، بما في ذلك عمليات منح الأذونات. تعرض الأداة مسار التحديث للمستخدم، بما في ذلك إبقاء الإضافة غير مفعَّلة إلى أن يمنح المستخدم أي أذونات مطلوبة حديثًا. هذه الأداة مفيدة بشكل خاص لمحاكاة تغييرات الأذونات المطلوبة عند تحديث الإضافة من إصدار Manifest V2 إلى Manifest V3.
Chrome 114: واجهة برمجة تطبيقات جديدة لللوحة الجانبية
إضافة واجهة برمجة التطبيقات Side Panel API الجديدة، وهي واجهة مصاحبة تتيح للمستخدمين الوصول إلى الأدوات جنبًا إلى جنب مع المحتوى الذي يتصفّحونه. لمزيد من المعلومات، يُرجى الانتقال إلى مرجع واجهة برمجة التطبيقات Side Panel API. وقد أضفنا أيضًا العديد من نماذج اللوحات الجانبية إلى مستودع النماذج في GitHub. نشارك أيضًا المزيد من المعلومات حول اللوحات الجانبية في مشاركة المدوّنة الجديدة بعنوان تصميم تجربة مستخدم مميّزة باستخدام واجهة برمجة التطبيقات الجديدة لللوحة الجانبية. ولقد تمت أيضًا مراجعة سياسة إرشادات الجودة وأفضل الممارسات لتوفير مزيد من الإرشادات حول إنشاء إضافات عالية الجودة للّوحات الجانبية.
ملاحظاتك مهمة بشأن صياغة واجهة برمجة التطبيقات هذه. يُرجى مشاركة أفكارك وطلبات الميزات في chromium-groups. يُرجى متابعتنا لمعرفة آخر الأخبار بينما نواصل تحسين واجهة Side Panel API.
نماذج جديدة: WASM في الإضافات
هناك نموذجان جديدان يوضحان كيفية استخدام WASM في إحدى الإضافات:
- يعرض استخدام WASM في الإصدار 3 من البيان الطريقة العامة لتضمين وحدة WASM.
- استخدام WASM كوحدة في إصدار Manifest V3 يوضّح طريقة استخدامها في وحدة معيّنة.
شكر خاص للمساهم في GitHub @daidr على هذه النماذج.
تم تعديل إرشادات نقل البيانات للإصدار 3 من ملف البيان.
لقد عدّلنا قسم المشاكل المعروفة ضمن إرشادات نقل البيانات للإصدار 3 من ملف البيان من خلال إضافة قائمة معدَّلة بثغرات النظام الأساسي للإضافات التي نعتزم إغلاقها قبل الإعلان عن المخطط الزمني الجديد للإيقاف النهائي لإصدار Manifest V2.
تسجيل الصوت والفيديو باستخدام إصدار Manifest V3
لقد نشرنا للتو مقالة جديدة بعنوان تسجيل الصوت والتقاط الشاشة، تغطي تسجيل الصوت أو الفيديو من علامة تبويب أو نافذة أو شاشة في إصدار Manifest V3. توضِّح هذه المقالة مناهج متعدّدة للتسجيل تشمل واجهة برمجة تطبيقات chrome.tabCapture
والدالة getDisplayMedia()
.
Chrome 114: حصة مساحة تخزين إضافية محلية
تمت زيادة الحصة للموقع الإلكتروني storage.local
إلى حوالي 10 ميغابايت. تم الاتفاق على ذلك في مجموعة منتدى إضافات الويب. يؤدي ذلك إلى توافق storage.local
مع storage.session
الذي تم تغييره في Chrome 112.
الدليل التوجيهي والمساعدة لمشغِّل خدمات الإضافات الجديدة
مشغِّلو الخدمات هم جزء لا يتجزأ من إضافات Chrome. لقد نشرنا للتو برنامجًا تعليميًا يشرح أساسيات تسجيل مشغّلي الخدمات وتصحيح الأخطاء والتفاعل مع مشغّلي الخدمات. وأضفنا أيضًا دليل مشغّل الخدمات الجديد الذي يوضّح المفاهيم المهمة بمزيد من التفاصيل. نعمل على توسيع هذا القسم في الأشهر المقبلة.
مزيد من النصائح حول تحديد المشاكل المتعلّقة بانتهاك السياسات في "السوق الإلكتروني" وحلّها
للمساعدة في النشر على "سوق Chrome الإلكتروني"، أضفنا إرشادات جديدة في مجالَين. تتمحور الإرشادات حول الحدّ الأدنى من الوظائف حول تزويد المستخدمين بمزايا وتحسين تجربة التصفّح. تهدف إرشادات إعلانات الشركاء التابعين إلى إطلاع المستخدمين على الإضافات التي تستخدم الرموز أو الروابط المؤدية إلى الشركاء التابعين لتحقيق الربح، ومنحهم قدرًا من التحكّم من خلال اشتراط اتخاذ المستخدم إجراءً قبل تضمينه.
تعليمات جديدة حول محوّل بيان الإضافة
لقد أعدنا كتابة الملف التمهيدي الخاص بمحوّل بيان الإضافة لكي نسهّل عليك الاطّلاع على ما يجب فعله بعد تشغيل الأداة. يساعد المحوّل في نقل الإضافات المنشأة على إصدار Manifest V2 إلى Manifest V3. يصف الملف التمهيدي الجديد ما تفعله الأداة باستخدام الكلمات التي تتطابق إلى حد كبير مع الكلمات الواردة في قائمة التحقق في دليل نقل البيانات. لا يفعل المحول كل شيء، لكنه يلغي العديد من المهام التي لا تتطلب حكمًا بشريًا.
Chrome 113: أسباب جديدة لعرض المستندات خارج الشاشة
لقد أضفنا نوعَين جديدَين من الأسباب إلى واجهة برمجة التطبيقات للمستندات خارج الشاشة. يمكنك استخدام LOCAL_STORAGE
للوصول إلى واجهة برمجة تطبيقات localStorage للنظام الأساسي على الويب. استخدِم WORKER
عند إنشاء عناصر عاملين على الويب.
أصبحت "إحصاءات Google 4" متوفّرة الآن في "لوحة بيانات المطوّر"
أصبحت لوحة بيانات المطوّر في "سوق Chrome الإلكتروني" متوافقة الآن مع "إحصاءات Google 4". لقد بسّطنا عملية إعداد "إحصاءات Google" وجعلنا إدارة إمكانية الوصول لناشري المجموعات أكثر سهولة. إذا سبق لك استخدام Universal Analytics من Google لتتبُّع نشاط بطاقة بيانات المتجر، عليك اتّخاذ إجراء بحلول 1 تموز (يوليو) 2023 لضمان استمرار تلقّيك للبيانات المتعلّقة ببطاقة بيانات المتجر. لمزيد من المعلومات، اطّلِع على المشاركة في "مجموعة Google" لإضافات Chromium.
توفُّر واجهة برمجة تطبيقات معالجة الملفات في نظام التشغيل 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
تعرض دائمًا القيمة "خطأ".
(حصلت مساحة الاسم chrome.action
مؤخرًا على طرق جديدة للتحكّم في ظهور شارات الإضافات. لمزيد من المعلومات، يمكنك الاطّلاع على مقالة ضبط ألوان الشارات).
Chrome 110: تغيير في مهلة عدم نشاط مشغّل الخدمات
في السابق، كان يغلق عامل خدمات التمديدات العمل بشكل متكرر عند الوصول إلى خمس دقائق. ولقد غيَّرنا هذا السلوك ليشبه إلى حد كبير فترة عمل عامل الخدمة على الويب. سيتم إيقاف تشغيل مشغّل خدمات التمديد بعد ثلاثين ثانية من عدم النشاط أو إذا استغرقت معالجة نشاط واحد أكثر من 5 دقائق. لمزيد من المعلومات، يُرجى الاطّلاع على مدة صلاحية عاملي خدمة الإضافات لفترة أطول.
مشاركة: إيقاف إصدار Manifest V2 مؤقتًا
تتم مراجعة المخططات الزمنية للإيقاف النهائي لإصدار Manifest V2، ويتم تأجيل التجارب التي كان من المقرر إجراؤها في أوائل عام 2023. لمزيد من المعلومات، يمكنك الاطّلاع على التحديث في "مجموعة Google" الخاصة بإضافات Chromium.
Chrome 110: ضبط ألوان الشارات
تقدّم مساحة الاسم chrome.action
طريقتَين جديدتَين لمنحك المزيد من التحكّم في شارات إضافة المظهر. تتيح الطريقتان setBadgeTextColor()
وgetBadgeTextColor()
للإضافة تغيير لون نص شارة رمز شريط الأدوات وإجراء طلب بحث عنه. وعند استخدامها مع setBadgeBackgroundColor
وgetBadgeBackgroundColor
، تتيح لك هذه الطرق الجديدة فرض اتساق التصميم والعلامة التجارية.
مشاركة مدونة: مزيد من التفاصيل حول الانتقال إلى إصدار Manifest V3
لقد أوضحنا المخطط الزمني للإيقاف النهائي لإصدار Manifest V2. تم أيضًا تعديل المخطط الزمني للإصدار 2 من ملف Manifest v2 ليعكس هذه المعلومات.
تعديل "مستندات Google": المشاكل المعروفة عند نقل البيانات إلى إصدار Manifest V3
لقد وضعنا قائمة بالميزات الرئيسية التي قيد التطوير حاليًا والأخطاء المفتوحة. هدفنا من هذه الصفحة هو مساعدة المطوّرين على فهم الوضع الحالي للمنصة والميزات التي يمكنهم استهدافها خلال الاستعداد للمستقبل.
سوق Chrome الإلكتروني: تمت إزالة تحميل الصورة "مربّع ترويجي كبير"
أزال "سوق Chrome الإلكتروني" واجهة المستخدم الخاصة بالتحميل "المربّع الترويجي الكبير" من علامة تبويب "بطاقة بيانات المتجر" في "لوحة بيانات المطوِّر". لا يؤثر هذا التغيير في تجربة المستخدم النهائي، إذ لم يتم استخدام هذه الصور في واجهة مستخدم المستهلك. لمزيد من التفاصيل، يمكنك الاطّلاع على هذه المشاركة التي تتضمّن إضافات Chromium.
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
الخاصة بمنصة 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
في ملف JSON.json. يسمح ذلك للإضافات المستنِدة إلى إصدار Manifest V3 بالإعلان عن أنماط المطابقة الاختيارية للمضيفين، تمامًا كما يمكن للإضافات المستنِدة إلى إصدار Manifest V2 استخدام مفتاح optional_permissions
.
Chrome 102: سمة injectImmediately في scripting.executeScript()
تقبل chrome.scripting.executeScript()
الآن السمة injectImmediately
الاختيارية في الوسيطة injection
. في حال استخدام هذه السمة وضبطها على "صحيح"، سيتم إدخال النص البرمجي في الهدف في أقرب وقت
ممكن، بدلاً من انتظار علامة document_idle
. يُرجى العِلم أنّ هذا الإجراء لا يضمن أن يتم إدخال النص البرمجي
قبل تحميل الصفحة، لأنّ تحميل الصفحة مستمر أثناء إجراء طلب البيانات من واجهة برمجة التطبيقات.
Chrome 102: إتاحة واجهة برمجة التطبيقات للمربّع متعدد الاستخدامات في الإصدار Manifest V3
يمكن الآن استخدام واجهة برمجة تطبيقات Omnibox في الإضافات المستنِدة إلى مشغّلي الخدمات. في السابق، كانت بعض طرق واجهة برمجة التطبيقات هذه تعتمد على الاستدعاء بسبب الاعتماديات الداخلية على إمكانات DOM.
Chrome 102: تم السماح بـ Wasm-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 للسماح للإضافات باستهداف الطلبات بشكلٍ أفضل استنادًا إلى نطاقَي "request" و"initiator" في الطلب. خصائص الشرط ذات الصلة هي initiatorDomains
وexcludedInitiatorDomains
وrequestDomains
وexcludedRequestDomains
. اطّلِع أيضًا على سلسلة محادثات Chromium-extensions هذه.
Chrome 100: تم حلّ المشكلة التي تحدث مع scripting.executeScript() على علامات التبويب التي تم إنشاؤها حديثًا
تم إصلاح مشكلة طال انتظارها حيث قد يتعذّر طلب scripting.executeScript()
على علامة تبويب أو نافذة تم إنشاؤها حديثًا.
Chrome 100: منفذ المراسلة الأصلي يبقي عامل الخدمة نشطًا
إنّ الاتصال بمضيف مراسلة أصلي باستخدام chrome.runtime.connectNative()
في مشغّل الخدمات التابع للإضافة يجب أن يُبقي عامل الخدمة نشطًا ما دام المنفذ مفتوحًا.
Chrome 100: GCP.setDefaultsuggestion() يدعم الوعود واستدعاءات المكالمات
تعرض الطريقة
omnibox.setDefaultSuggestion()
الآن وعودًا أو تقبل معاودة الاتصال للسماح للمطوّرين بتحديد وقت ضبط الاقتراح بشكل صحيح.
Chrome 100: i18n.getMessage() الدعم في مشغّلي خدمات الإضافات
أصبحت واجهة برمجة تطبيقات chrome.i18n.getMessage()
متاحة
الآن في سياقات مشغّلي الخدمات الإضافية.
Chrome 99: match_origin_as_fallback في إصدار Canary
بإمكان النصوص البرمجية للمحتوى الآن تحديد مفتاح match_origin_as_fallback
لإدخاله في إطارات ذات صلة بإطار مطابق، بما في ذلك الإطارات ذات عناوين URL about:
وdata:
وblob:
وfilesystem:
. لمزيد من التفاصيل، يُرجى الاطّلاع على مستندات النصوص البرمجية للمحتوى.
Chrome 99: دعم مشغِّلي خدمات الإضافات للملفات: المخططات في إصدار Canary
أصبح بإمكان الإضافتَين Manifest V2 وManifest V3 المستنِدَين إلى مشغّل الخدمات استخدام واجهة برمجة التطبيقات الجلب لطلب عناوين URL لمخطط file:
. ويتطلّب الوصول إلى عناوين URL الخاصة بمخطط file:
أن يفعّل المستخدم خيار "السماح بالوصول إلى عناوين URL للملفات" للإضافة في صفحة chrome://extensions
.
Chrome 99: وعد بتوفير التوافق مع واجهات برمجة تطبيقات المراسلة في إصدار Canary
تمت إضافة وعود توفير البيانات إلى
tabs.sendMessage
وruntime.sendMessage
وruntime.sendNativeMessage
للإضافات المصمَّمة لإصدار Manifest V3.
تحديث "مستندات Google": مستندات مراجعة "سوق Chrome الإلكتروني"
تمت إضافة صفحة مرجعية جديدة تقدِّم نظرة عامة على عملية المراجعة في "سوق Chrome الإلكتروني" وتوضّح كيفية التعامل مع فرض سياسات المطوّرين.
Chrome 98: scripting.executeScript() وscripting.insertCSS() يقبلان ملفات متعدّدة.
تقبل الآن الطريقتان executeScript()
وinsertCSS()
في واجهة برمجة التطبيقات Scripting API ملفات متعددة. كانت هذه الطرق تتطلب في السابق صفيفًا بإدخال ملف واحد.
تحديث "مستندات Google": مراجعة تعديلات تحديد المشاكل وحلّها في ما يتعلّق بالانتهاكات
تم تعديل صفحة تحديد المشاكل المتعلّقة بانتهاك السياسات في "سوق Chrome الإلكتروني" وحلّها لتزويد المطوّرين بإرشادات أكثر تفصيلاً عن الأسباب الشائعة للرفض.
Chrome 96: إتاحة وعود إضافية لتشمل 27 واجهة برمجة تطبيقات إضافية
يتضمّن هذا الإصدار تحديثات واعدة أكثر بكثير من أي إصدار سابق. تشمل التحديثات واجهات برمجة التطبيقات للإضافات العامة والخاصة بنظام التشغيل ChromeOS. وسِّع الأقسام التالية للاطّلاع على التفاصيل.
واجهات برمجة التطبيقات للإضافات
يتوافق عدد من واجهات برمجة التطبيقات الآن مع الوعود في الإصدار 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
بدون
طلب موافقة المستخدم على الأذونات الجديدة.
Chrome 95: إدخال النصوص البرمجية في الصفحات مباشرةً
بإمكان الطريقة executeScript()
الخاصة بواجهة برمجة التطبيقات chrome.scripting
الآن
إدخال نصوص برمجية مباشرةً في العالم الرئيسي للصفحة. في السابق، لم يكن بالإمكان تضمين الإضافات مباشرةً
في العالم المعزول للإضافة. لمزيد من المعلومات حول العوالم المعزولة، راجِع المستندات حول النصوص البرمجية للمحتوى.
Chrome 95: وعد بالتوافق مع واجهة برمجة التطبيقات Storage
أصبحت الطرق المتاحة الآن في إصدار 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
عامة. تستكشف هذه المشاركة تاريخ واجهات برمجة التطبيقات هذه وما الذي تغيّر في إصدار Manifest V3. اقرأ المشاركة.
مشاركة مدونة: التعريف chrome.scripting
واجهة برمجة التطبيقات chrome.scripting
هي واجهة برمجة تطبيقات جديدة من 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() تتضمن نتائج frameId
تشمل النتائج التي تم إرجاعها من
chrome.scripting.executeScript()
الآن frameId.
تشير السمة frameId
إلى الإطار الذي تأتي منه النتيجة، ما يسمح للإضافات بربط النتائج بالإطارات الفردية بسهولة عند إدخال إطارات متعدّدة.
Chrome 89: واجهة برمجة تطبيقات جديدة لإدارة مجموعات علامات التبويب
تتيح واجهة برمجة التطبيقات chrome.tabGroups
الجديدة والإمكانات الجديدة في
chrome.tabs
للإضافات قراءة مجموعات علامات التبويب ومعالجتها.
يجب استخدام إصدار Manifest V3.
Chrome 89: أذونات قابلة للتخصيص لموارد الوصول إلى الويب
تم تغيير تعريفات موارد الوصول إلى الويب في إصدار Manifest V3 للسماح للإضافات بحظر الوصول إلى الموارد استنادًا إلى رقم تعريف الإضافة أو الأصل لمقدِّم الطلب.
مشاركة مدونة: محوّل بيان الإضافة
أنشأ فريق إضافات Chrome أداة مفتوحة المصدر "Extension Manifest Converter"، وهي أداة بلغة Python تعمل تلقائيًا على تنفيذ بعض الجوانب الميكانيكية لتحويل الإضافات إلى إصدار Manifest V3. يمكنك الاطّلاع على مشاركة مدونة الإعلان والحصول عليها من GitHub.
Chrome 88: مدى توفُّر Manifest V3 للجمهور العام
إصدار Manifest V3 هو تعديل رئيسي في منصة الإضافات. يمكنك الاطّلاع على نظرة عامة على الإصدار 3 من البيان للحصول على ملخّص عن الميزات الجديدة والتي تم تغييرها. قد تستمر الإضافات في استخدام إصدار Manifest V2 في الوقت الحالي، ولكن سيتم إيقافه في المستقبل القريب. ننصحك بشدة باستخدام إصدار Manifest V3 لأي إضافات جديدة والبدء في نقل الإضافات الحالية إلى إصدار Manifest V3 في أقرب وقت ممكن.