الإصدار التجريبي من Chrome 123

ما لم يُذكر خلاف ذلك، تنطبق التغييرات التالية على أحدث إصدار من قناة Chrome التجريبية لأنظمة التشغيل Android وChromeOS وLinux وmacOS وWindows. يمكنك التعرّف على مزيد من المعلومات حول الميزات المدرَجة هنا من خلال الروابط المتوفّرة أو من القائمة على ChromeStatus.com. يتوفّر الإصدار 123 من Chrome كإصدار تجريبي اعتبارًا من 21 شباط (فبراير) 2024. يمكنك تنزيل أحدث التحديثات من Google.com لأجهزة الكمبيوتر المكتبية أو من "متجر Google Play" على أجهزة Android.

CSS

يضيف هذا الإصدار خمس ميزات جديدة في CSS.

دالة لون light-dark() في CSS

تتيح الدالة light-dark() في CSS للمطوّرين تكييف نظام الألوان بسهولة أكبر مع الوضع الذي يفضّله المستخدم في الوضع الفاتح أو الداكن.

استخدِم light-dark() لتحديد قيمتَي لون مختلفتَين ضمن سمة CSS واحدة. سيختار المتصفّح (أو الجهاز) تلقائيًا اللون المناسب استنادًا إلى قيمة color-scheme المحسوبة للعنصر. على سبيل المثال، باستخدام CSS التالية:

  • إذا اختار المستخدم مظهرًا فاتحًا، فستكون لدى العنصر .target خلفية ليمونية.
  • إذا اختار المستخدم مظهرًا داكنًا، سيظهر العنصر .target بخلفية خضراء.
html {
  color-scheme: light dark;
}
.target {
    background-color: light-dark(lime, green);
}

وضع عرض "نافذة ضمن النافذة" في CSS

تضيف هذه السياسة إمكانية استخدام ميزة وسائط display-mode في CSS للقيمة picture-in-picture. ويتيح ذلك لمطوّري البرامج على الويب كتابة قواعد CSS محدّدة يتم تطبيقها فقط عند عرض تطبيق الويب (جزءًا من) في وضع "نافذة ضمن النافذة".

يمكنك الاطّلاع على المزيد من المعلومات حول ميزة الوسائط هذه في المستندات الخاصة بميزة "نافذة ضمن النافذة".

خاصية CSS التي طابقت المحتوى للكتل

أصبحت السمة align-content في CSS متوافقة الآن مع حاويات الكتل وخلايا الجدول. في السابق، كانت هذه السمة متاحة فقط على العناصر على شكل مربّعات والعناصر المرنة. على سبيل المثال، يمكن الآن محاذاة display: block وdisplay: list-item وdisplay: table-cell باستخدام align-content.

تعرَّف على مزيد من المعلومات في إتاحة align-content في تنسيقات الكتل والجداول.

سمة field-sizing في CSS

باستخدام السمة field-sizing، يمكن للمطوّرين إيقاف الأحجام التلقائية الثابتة لعناصر التحكّم في النموذج وجعل حجمها يعتمد على المحتوى. يوفر هذا طريقة لإنشاء حقول نصية تتزايد تلقائيًا.

سمة text-spacing-trim في خدمة مقارنة الأسعار (CSS)

تطبّق هذه الخاصية الكتابة على أحرف علامات الترقيم الصينية واليابانية والكورية (CJK) لإنتاج أسلوب الخط المبهج بصريًا كما هو موضح في JLREQ (متطلبات تنسيق النص الياباني) وCLREQ (متطلبات تخطيط النص الصيني).

تتضمن العديد من أحرف علامات CJK مسافات داخلية بشكل رسومي. على سبيل المثال، عادةً ما تحتوي علامة النقطة الكاملة لـ CJK وأقواس الإغلاق CJK على مسافات داخلية زخرفية بالأحرف الرسومية، على النصف الأيمن من مساحاتها الرسومية، لمنحها تقدمًا مستمرًا كأحرف إيديوغرافية أخرى. ولكن عندما تظهر في صف، تصبح المسافات الداخلية الرسومية زائدة. تساعد هذه الميزة في تعديل المسافات الزائدة.

تقبل السمة text-spacing-trim إحدى القيم الأربع التالية: normal وtrim-start وspace-all وspace-first. يمكنك الاطّلاع على مزيد من المعلومات في مقالة التعرّف على أربع ميزات عالمية جديدة في CSS.

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

السماح بإنشاء بيانات اعتماد WebAuthn في إطار iframe متعدد المصادر

تتيح هذه الميزة للمطوّرين على الويب إنشاء بيانات اعتماد WebAuthn (أي بيانات اعتماد "المفتاح العام"، والمعروفة باسم مفاتيح المرور) في إطارات iframe المتعددة المصادر. هناك شرطان مطلوبان لهذه القدرة الجديدة:

  • يتضمّن إطار iframe سياسة أذونات publickey-credentials-create-feature.
  • يحتوي إطار iframe على عملية تفعيل مؤقتة من جانب المستخدم.

سيتيح ذلك للمطوّرين إنشاء مفاتيح مرور في سيناريوهات مضمَّنة، مثلاً بعد إجراء خطوة تحسين الهوية حيث توفّر "مجموعة الاعتماد" تجربة هوية موحّدة.

حزمة ميزة إعداد تقارير الإحالة

يضيف Chrome 123 خيارات تخصيص البيانات وفلاتر القيم القابلة للتجميع إلى Attribution Reporting API الذي يركّز على:

  • إمكانية ضبط إضافية لواجهة برمجة التطبيقات لإعداد التقارير على مستوى الحدث من خلال إتاحة تخصيص عدد القيم الفريدة للسمة وقيمتها
  • إمكانية ضبط إضافية لواجهة برمجة التطبيقات لإعداد التقارير الموجزة من خلال إتاحة الفلاتر في القيم القابلة للتجميع.

قياس تحديد المصدر على مستوى التطبيقات والمواقع الإلكترونية

تعمل على توسيع Attribution Reporting API للسماح بإسناد الإحالات الناجحة التي تحدث على الويب إلى الأحداث التي تتم خارج المتصفِّح، داخل التطبيقات الأخرى.

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

blocking=render على النصوص البرمجية للوحدة المضمّنة

يهدف هذا التغيير إلى إزالة قيود مصطنعة من <script blocking="render">. قبل إجراء هذا التغيير، يتطلب <script blocking="render"type="module"> سمة src، حتى إذا كان src هذا هو معرّف موارد منتظم (URI) للبيانات. ويشكّل هذا قيدًا غير ضروري، إذ إنّ النصوص البرمجية المضمّنة في الوحدة التي تستورد نصوصًا برمجية أخرى لا يزال بإمكانها عرض الكتلة.

الدافع من ذلك هو أن عمليات الانتقال لعرض المستندات بين المستندات غالبًا ما تعتمد على النصوص البرمجية التي تحظر العرض للتخصيص، لذا فإن تسهيل استخدام النصوص البرمجية التي تحظر العرض على المؤلفين سيدعم هذه الميزة.

نافذة ضمن النافذة: السماح لواجهة focus() API بالتركيز على أداة الفتح

يمكنك الآن استخدام opener.focus() من نافذة "نافذة ضمن النافذة" للمستند لجذب التركيز على مستوى النظام إلى علامة التبويب التي تملك نافذة "نافذة ضمن النافذة" للمستند.

يتيح هذا للمطورين إعادة علامة التبويب الأصلية إلى المقدمة عند الضرورة. على سبيل المثال، عندما يحتاج المستخدم إلى الوصول إلى تجربة واجهة مستخدم لا تتناسب مع نافذة نافذة ضمن النافذة الأصغر.

استيراد بنية with للسمات

سمات الاستيراد هي ميزة في JavaScript تسمح بالتعليقات التوضيحية على إعلانات الاستيراد، على سبيل المثال import xxx from "mod" with { type: "json" }. شحن Chrome في الأصل نسخة سابقة من الاقتراح (في Chrome 91) باستخدام assert ككلمة رئيسية. تم بعد ذلك تحديث هذا الإصدار لاستخدام with بسبب إجراء بعض التغييرات اللازمة أثناء دمجه مع وحدات HTML لوحدات JSON وCSS.

jitterBufferTarget

تسمح السمة jitterBufferTarget للتطبيقات بتحديد مدة زمنية مستهدَفة بالملي ثانية من الوسائط للمخزن المؤقت غير المستقر RTCRtpReceiver للاحتفاظ به. ويؤثر ذلك في مقدار التخزين المؤقت الذي يجريه وكيل المستخدم، ما يؤثر بدوره في عمليات إعادة الإرسال واسترداد الحزم المفقودة. ومن خلال تغيير القيمة المستهدَفة، يمكن للتطبيقات التحكّم في المفاضلة بين مهلة التشغيل وخطر نفاد إطارات الصوت أو الفيديو بسبب عدم استقرار الشبكة.

توقيت إطار الصور المتحركة الطويل

إنّ Long Animation Frames API هي إضافة لواجهة Long Tasks API. وهو يقيس المهمة مع التحديث اللاحق للعرض، مع إضافة معلومات مثل النصوص البرمجية التي تستغرق وقتًا طويلاً ووقت العرض والوقت المستغرق في التخطيط والنمط المفروضَين، وهو ما يُعرف باسم كسر التنسيق.

يمكن للمطوّرين استخدام هذه البيانات كتشخيص لـ "البطء" الذي يتم قياسه من خلال INP، وذلك من خلال تحديد أسباب ازدحام سلسلة التعليمات الرئيسية الذي غالبًا ما يكون سبب ضعف مقياس INP.

تضيف واجهة NavigationActivate navigation.activation. يؤدي هذا إلى تخزين حالة عن وقت تفعيل المستند الحالي (على سبيل المثال، وقت مهيأته أو استعادته من ذاكرة التخزين المؤقت باستخدام ميزة "التخزين المؤقت للصفحات").

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

حدث عرض الصفحة

يتم تنشيط الحدث pagereveal على عنصر نافذة المستند عند أول فرصة عرض بعد أن يتم: التحميل الأولي للمستند أو استعادته من التخزين المؤقت للصفحات أو تفعيله من عرض مُسبَق.

يمكن لمؤلف الصفحة استخدامه لإعداد تجربة إدخال صفحة - مثل انتقال العرض من حالة سابقة.

PointerEvent.deviceId للحبر متعدد القلم

مع تزايد انتشار الأجهزة ذات الإمكانات المتقدمة لإدخال القلم، من المهم أن يستمر نظام الويب الأساسي في التطور للتوافق بشكل كامل مع هذه الميزات المتقدمة بهدف إتاحة تجارب غنية لكل من المستخدمين النهائيين والمطوّرين. أحد هذه التطورات هو قدرة المحول الرقمي للجهاز على التعرف على أكثر من جهاز قلم واحد يتفاعل معه في وقت واحد. تمثّل هذه الميزة إضافة لواجهة PointerEvent لتشمل سمة جديدة، وهي deviceId، تمثّل معرّفًا فريدًا ومستدامًا ومستقلًا عن الجلسات ويمكن للمطوّر استخدامه بشكل موثوق لتحديد الأقلام الفردية التي تتفاعل مع الصفحة.

عمليات التحقّق من الوصول إلى الشبكة الخاصة لطلبات التنقّل: وضع التحذير فقط

قبل أن ينتقل الموقع "أ" إلى الموقع "ب" الآخر في الشبكة الخاصة للمستخدم، تعمل هذه الميزة على إجراء ما يلي:

  1. تتحقق مما إذا تم بدء الطلب من سياق آمن.
  2. يرسل طلب مبدئي، ويتحقق مما إذا كان B يستجيب بعنوان يسمح بالوصول إلى الشبكة الخاصة.

هناك بالفعل ميزات للموارد الفرعية والعاملين، لكن هذه الإضافة مخصصة لطلبات التنقل تحديدًا.

تتم عمليات التحقّق هذه لحماية شبكة المستخدم الخاصة. بما أنّ هذه الميزة هي وضع "التحذير فقط"، لن ترفض الطلبات في حال تعذّر إجراء أيّ من عمليات التحقّق. وبدلاً من ذلك، سيظهر تحذير في "أدوات مطوري البرامج" لمساعدة المطوّرين على الاستعداد لتنفيذ إجراءات التنفيذ القادمة.

تلميح العميل Sec-CH-UA-Form-Factor

يشير هذا التلميح إلى "عامل الشكل" لوكيل المستخدم أو الجهاز، لكي يتمكّن الموقع الإلكتروني من تخصيص استجابة الموقع.

واجهة برمجة تطبيقات التوجيه الثابت لـ Service Worker

تسمح واجهة برمجة التطبيقات هذه للمطوّرين بضبط التوجيه، كما تسمح لهم بتفريغ المهام البسيطة التي ينفذها مشغّلو الخدمات. وفي حال تطابق الشرط، تتم عملية التنقّل بدون بدء مشغّلي الخدمة أو تنفيذ JavaScript، ما يسمح لصفحات الويب بتجنُّب عقوبات الأداء بسبب اعتراض مشغّلي الخدمات. لمزيد من المعلومات، يمكنك الاطّلاع على مشاركة المدونة السابقة حول واجهة برمجة التطبيقات هذه.

تعديل مساحة التخزين المشتركة

يتيح هذا التحديث تشغيل وظائف مصغَّرة من مصادر متعددة بدون الحاجة إلى إنشاء إطار iframe.

ترميز المحتوى zstd

Zstandard أو zstd هي آلية لضغط البيانات موصوفة في RFC8878. إنها خوارزمية ضغط سريعة وبدون خسائر، وتستهدف سيناريوهات الضغط في الوقت الفعلي على مستوى zlib ونسب ضغط أفضل. تمت إضافة الرمز المميز zstd كرمز ترميز Content-مسجّل بواسطة منظمة IANA (المنظمة المعنية بأرقام الإنترنت المخصصة).

إنّ إضافة دعم zstd بصفتها ترميز المحتوى سيساعد في تحميل الصفحات بشكل أسرع واستخدام نطاق ترددي أقل، وتقليل الوقت المطلوب لاستخدام وحدة المعالجة المركزية (CPU) وقوة الضغط على خوادمنا، ما يؤدي إلى انخفاض تكاليف الخادم.

تجارب مصادر جديدة

في الإصدار 123 من Chrome، يمكنك تفعيل تجارب المصدر الجديدة التالية.

دمج وعد WebAssembly في JavaScript

لدعم التطبيقات سريعة الاستجابة المكتوبة باستخدام WebAssembly، من الضروري توفير ميزات تسمح بتعليق برامج WebAssembly واستئنافها.

إنّ حالة الاستخدام الأولية الأساسية لدمج الوعد هي السماح لبرامج WebAssembly التي يعتمد مصدرها على واجهات برمجة التطبيقات المتزامنة باستخدام واجهات برمجة تطبيقات غير متزامنة شائعة بشكل متزايد على منصة الويب.

التسجيل في مرحلة التجربة والتقييم في تكامل الوعد

عمليات الإزالة

يزيل متصفِّح Chrome 123 الميزات التالية.

العنوان البديل للبريد الإلكتروني window-placement لسياسة الأذونات والأذونات window-management

في الإصدار 111 من Chrome، تمت إضافة window-management كاسم مستعار لإذن window-placement وسلاسل سياسة الأذونات. كان هذا جزءًا من جهد أكبر لإعادة تسمية السلاسل عن طريق الإيقاف النهائي وإزالة window-placement في النهاية. يؤدي تغيير المصطلحات إلى تحسين مدة استخدام الواصف مع تطوّر واجهة برمجة التطبيقات Window Management API بمرور الوقت.

بدأت تحذيرات الإيقاف النهائي لاسم window-placement البديل في Chrome 113، وستتم إزالتها الآن.