يتوفّر Chrome 120 الآن كإصدار تجريبي ويتضمّن العديد من التحديثات الشيّقة لمطوّري إضافات Chrome.
كان عام حافل بفريق إضافات Chrome. مع إصدار Chrome 120 التجريبي أمس، يخطو النظام الأساسي للإضافات خطوة كبيرة أخرى إلى الأمام. للحصول على نظرة عامة حول ما حدث هذا العام، يمكنك الاطّلاع على آخر الأخبار الربع سنوية في تموز (يوليو) وتشرين الأول (أكتوبر). يُرجى مواصلة القراءة للتعرّف على الميزات الجديدة في الإصدار 120 من Chrome للإضافات.
سد الفجوة المتعلقة بالمنصة
مع إصدار Chrome 120، سنسد الفجوات المتبقية في النظام الأساسي الواردة في صفحة المشاكل المعروفة في إصدار Manifest V3. العنصران المتبقيان في القائمة يمكن شطبهما من واجهة برمجة التطبيقات userScript API الجديدة، بالإضافة إلى الدعم المتعلق بمعالجة الملفات على نظام التشغيل ChromeOS. ومع التغييرات الموضحة في التحديث ربع السنوي السابق، يسعدنا حقًا الوضع الحالي للنظام الأساسي لإضافة Chrome وما أنجزناه خلال العام الماضي.
واجهة برمجة تطبيقات userScripts الجديدة
أصبحت ميزة دعم النص البرمجي للمستخدم متوفّرة النصوص البرمجية للمستخدمين هي (عادةً صغيرة نسبيًا) مقتطفات من الرمز يمكن للإضافات إدخالها في صفحات الويب لتعديل مظهر الصفحة أو سلوكها. ويمكن للمستخدم إنشاؤها مباشرةً أو اكتشافها في عدد من مستودعات النصوص البرمجية للمستخدمين المختلفة على الويب. وبدءًا من استخدام إضافات Chrome 120 Manifest V3، يمكنك الآن إدارة مجموعة النصوص البرمجية للمستخدمين وتحديد وقت وطريقة تضمين هذه النصوص البرمجية في صفحات الويب.
هناك اختلاف واحد مهم بين إتاحة النص البرمجي للمستخدم في إصدار Manifest V2 عن ملف Manifest V3. ولأنّ النصوص البرمجية للمستخدمين فعّالة وتتطلب ثقة كبيرة في مؤلف النص البرمجي للمستخدم، قرّر فريق Chrome أنّه على المستخدمين تفعيل وضع مطوّر البرامج قبل أن يتمكّنوا من تشغيل نص برمجي للمستخدم.
![صفحة "الإضافات"](https://developer.chrome.google.cn/static/blog/chrome-120-beta-whats-new-for-extensions/image/extensions-page-df77624dbaf7e.png?authuser=5&hl=ar)
يعرض نموذج userScript الجديد طريقة بسيطة لاكتشاف ما إذا كان وضع مطوّر البرامج مفعَّلاً، فضلاً عن توفير خطوات إعداد بسيطة.
![نموذج تدفق الإعداد للنصوص البرمجية للمستخدم.](https://developer.chrome.google.cn/static/blog/chrome-120-beta-whats-new-for-extensions/image/sample-onboarding-flow-u-cd28bdd7c186a.png?authuser=5&hl=ar)
للبدء، يمكنك الاطّلاع على المستندات أو الاطّلاع على العيّنة الرسمية.
حدود أعلى لمجموعة قواعد DNR ثابتة
رفعنا بشكلٍ كبير الحد الأقصى المسموح به لمجموعات القواعد الثابتة المفعّلة من 10 إلى 50. إضافةً إلى ذلك، زاد إجمالي عدد مجموعات القواعد الثابتة المسموح بها من 50 إلى 100. لقد تلقّينا هذه الرسالة استجابةً للملاحظات والآراء التي تلقّيناها في "مجموعة منتدى إضافات الويب".
واجهة برمجة تطبيقات ReadList الجديدة
طرح Chrome قائمة القراءة في عام 2021. في العام الماضي، جعل فريق Chrome الوصول إلى قائمة القراءة أكثر سهولة من خلال اللوحة الجانبية. من خلال متصفّح Chrome 120، نعمل على منح إضافات Chrome إمكانية إنشاء إدخالات في قائمة القراءة وقراءتها وتحديثها وحذفها. لمزيد من المعلومات، يمكنك الاطّلاع على مستندات واجهة برمجة التطبيقات والنموذج الجديد.
![قائمة القراءة في Chrome تعرض صفحات مستندات الإضافات](https://developer.chrome.google.cn/static/blog/chrome-120-beta-whats-new-for-extensions/image/chromes-reading-list-sho-e4bf148564009.png?authuser=5&hl=ar)
معالجة الملفات على نظام التشغيل ChromeOS
تسمح معالجة الملفات للإضافات بفتح الملفات ذات أنواع MIME المحدَّدة وامتدادات الملفات بطريقة مشابهة لمعالجة ملفات النظام الأساسي على الويب. يمكنك الانتقال إلى صفحة معالجة الملفات على نظام التشغيل ChromeOS للحصول على مزيد من المعلومات حول كيفية استخدامها.
![لقطة شاشة للملف المفتوح مع مربّع حوار الإضافة على نظام التشغيل ChromeOS](https://developer.chrome.google.cn/static/blog/chrome-120-beta-whats-new-for-extensions/image/screenshot-the-open-file-99fed57d1a582.png?authuser=5&hl=ar)
تشغيل منبّه بعد 30 ثانية
وهذا تحديث بسيط، ولكنه يعالج فجوة مهمة في دورة حياة عاملي الخدمات. نظرًا للطبيعة التي يعتمدها موظفو الخدمة على الحدث، ننصح باستخدام chrome.alarms
لتنشيط حدث في المستقبل. تضمن Alarms API تنشيط الحدث حتى إذا تم إيقاف مشغّل الخدمات في هذه الأثناء.
على الرغم من ذلك، هناك لعبة صيد. قبل استخدام الإصدار 120 من Chrome، كانت أقصر فترة زمنية لتشغيل المنبّه هي دقيقة واحدة. ومع ذلك، توقف تشغيل عمال الخدمة بعد 30 ثانية من عدم النشاط. ولذلك لم تكن هناك طريقة مباشرة لجدولة تشغيل الإنذار خلال 45 ثانية، لأنّه عند استخدام setTimeout()
لضبط حدث في 45 ثانية، من المحتمل أن يتم إيقاف عامل الخدمة قبل إطلاق الحدث.
بدءًا من الإصدار 120 من متصفِّح Chrome، يمكنك الآن إما تنشيط حدث في:
- أقل من 30 ثانية باستخدام
setTimeout()
. - أي نص أطول من أو يساوي 30 ثانية باستخدام أداة
chrome.alarms
:
await chrome.alarms.create('demo-default-alarm', {
periodInMinutes: 0.45
});
ملخّص
نحن متحمسون حقًا للتقدم الذي أحرزته منصة الإضافة على مدار العام الماضي. ويُعدّ Chrome 120 خطوة كبيرة أخرى تشمل زيادة حدود بروتوكول التحكم بالنقل (DNR) وإتاحة النصوص البرمجية للمستخدم.