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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

عند قراءة أنواع text/html MIME باستخدام واجهة برمجة التطبيقات غير المتزامنة، يتم استدعاء أداة تنقيح المحتوى لإزالة المحتوى من ترميز 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>

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

وغير ذلك

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

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

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

مراجع إضافية

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

اشتراك

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

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