الميزات الجديدة في إصدار Chrome 122

في ما يلي ما تحتاج إلى معرفته:

اسمي "أدريانا جارا". لنلقِ نظرة على الميزات الجديدة للمطوّرين في الإصدار 122 من Chrome.

واجهة برمجة التطبيقات Storage Buckets API

توفّر واجهة برمجة التطبيقات Storage Buckets API مزيدًا من الدقة لإدارة مساحة التخزين الدائمة بشكل أفضل.

في العادة، عندما تنفد مساحة التخزين على جهاز المستخدم، يتم فقدان البيانات المخزّنة باستخدام واجهات برمجة التطبيقات، مثل IndexedDB أو localStorage، بدون أن يتمكّن المستخدم من التدخل. إحدى طرق جعل مساحة التخزين دائمة هي استخدام طريقة persist() لواجهة StorageManager. ومع ذلك، فإنّ طريقة طلب ثبات مساحة التخزين هذه هي إما كلّيّة أو لا شيء.

تتمثل الفكرة الأساسية لواجهة برمجة التطبيقات Storage Buckets API في منح المواقع الإلكترونية إمكانية إنشاء مجموعات تخزين متعددة، حيث يمكن للمتصفّح اختيار حذف كل مجموعة بشكل مستقل عن المجموعات الأخرى. ويمكنك تحديد أولوية إزالة البيانات للتأكّد من عدم حذف البيانات الأكثر أهمية.ويمكن أن تحتوي كل حزمة تخزين على بيانات مرتبطة بواجهات برمجة التطبيقات لنظام التخزين، مثل IndexedDB وCacheStorage.

يُرجى الانتقال إلى مقالة ليس كل مساحات التخزين متماثلة: مقدمة عن "حِزم التخزين" للحصول على مزيد من التفاصيل وعينات الرموز البرمجية لبدء استخدام "حِزم التخزين".

تحسينات أدوات مطوّري البرامج في لوحة الأداء

في الإصدار 122 من Chrome، تتضمّن "أدوات مطوري البرامج" التحسينات التالية في لوحة الأداء.

أولاً، يتيح لك الآن المخطط الزمني في أعلى لوحة الأداء ضبط علامات التنقّل والانتقال بينها. لضبط شريط تنقل، اختَر نطاقًا في المخطط الزمني، ومرِّر مؤشر الماوس فوقه، ثم انقر على الزر N ms المقابل. يمكنك إنشاء عدة خطوات مُدمجة متتالية. للانتقال بين مستويات التكبير أو التصغير، انقر على مسار التنقّل المقابل في السلسلة أعلى المخطط الزمني. شاهِد الفيديو التالي لمعرفة كيفية استخدام "الخيط الساري".

بالإضافة إلى ذلك، تتوفّر الآن أدوات بدء الأحداث في المسار الرئيسي. يعرض المسار الأداء > الرئيسي تلقائيًا أسهمًا تربط بين المشغّلات والأحداث التالية التي تسبّبت فيها.

  • عدم صلاحية النمط أو التنسيق -> إعادة احتساب الأنماط أو التنسيق
  • طلب إطار صورة متحركة -> تم تنشيط إطار الصورة المتحركة
  • طلب معاودة الاتصال غير المستخدَمة -> تنشيط معاودة الاتصال غير المستخدَمة
  • تثبيت الموقّت -> تم تنشيط الموقّت
  • إنشاء WebSocket -> إرسال... وتلقّي تأكيد الاتصال بخادم WebSocket أو محو WebSocket

للاطّلاع على الأسهم، ابحث عن حدث مماثل في التتبّع وانقر عليه.

سهم من الطلب وإطلاق طلب معاودة اتصال غير مستخدَمة حاليًا

يمكنك الاطّلاع على المزيد من تحديثات "أدوات المطوّرين" في الميزات الجديدة في الإصدار 122 من "أدوات المطوّرين".

الخيار unsanitized في Async Clipboard API

عند النسخ واللصق باستخدام Async Clipboard API، يسمح خيار unsanitized لطريقة read() للتطبيقات والمواقع الإلكترونية بالحصول على رمز HTML غير محصَّن. ما لم تتضمّن المواقع الإلكترونية هذه السمة، سيتمّ تطهير قراءة HTML من الحافظة.

بشكلٍ تلقائي، عند قراءة أنواع MIME من النوع text/html باستخدام واجهة برمجة التطبيقات غير المتزامنة، يتمّ استدعاء أداة التنظيف لإزالة المحتوى من ترميز HTML بسبب مخاوف تتعلق بالأمان، ويتمّ تضمين الأنماط في رمز HTML الناتج. يؤدي ذلك إلى زيادة كبيرة في الحمولة البرمجية لصفحات HTML وفقدان الدقّة في محتوى HTML عند قراءته من قِبل مطوّري الويب أو تطبيقات الأجهزة الجوّالة.

يمكنك الاطّلاع على الفرق في الإخراج في المثال التالي.

الإدخال:

<style>p { color: blue; }</style><p>Hello, World!</p>'

تمّت إزالة المحتوى غير المرغوب فيه (الإعداد التلقائي):

<p style='color: blue; font-size: medium; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;'>Hello, World!</p>

مع خيار unsanitized:

<html><head><style>p { color: blue; }</style></head><body><p>Hello, World!</p></body></html>

يُرجى الانتقال إلى مقالة إزالة حظر الوصول إلى الحافظة للتعرّف على أساسيات واجهة برمجة التطبيقات Clipboard API.

وغير ذلك

بالطبع، هناك الكثير من الميزات الأخرى.

  • في CSS، لا تتطابق أبدًا طلبات البحث عن الحاويات التي تتضمّن ميزات غير متوافقة. على سبيل المثال، لن يتطابق طلب البحث التالي أبدًا بسبب الميزة غير المعروفة:
@container (width > 0px) or (unknown) {}
  • لا تؤثّر دالة dataTransfer.clearData() في عناصر File، بل تحذف فقط عناصر نوع النص.

  • باستخدام drawingBufferStorage في WebGL، يمكنك تجنُّب إنشاء نسخة إضافية عند تحويل المعالجة إلى تنسيق بكسل ذاكرة التخزين المؤقت التلقائية للرسم ورسم محتوى بدقة تزيد عن 8 بتات.

مراجع إضافية

لا يشمل ذلك سوى بعض النقاط الرئيسية. يمكنك الاطّلاع على الروابط التالية للاطّلاع على التغييرات الإضافية في الإصدار 122 من Chrome.

اشتراك

للاطّلاع على آخر الأخبار، يمكنك الاشتراك في قناة YouTube الخاصة بمطوّري Chrome، وستتلقّى إشعارًا عبر البريد الإلكتروني عند نشر فيديو جديد.

اسمي "أدريانا جارا"، وسأكون هنا لإطلاعك على الميزات الجديدة في Chrome فور طرح الإصدار 123.