ما لم يُذكر خلاف ذلك، تنطبق التغييرات التالية على أحدث إصدار من قناة 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.
NavigationActivation
تضيف واجهة NavigationActivate navigation.activation
. يؤدي هذا إلى تخزين حالة عن وقت تفعيل المستند الحالي (على سبيل المثال، وقت مهيأته أو استعادته من ذاكرة التخزين المؤقت باستخدام ميزة "التخزين المؤقت للصفحات").
وهذا يعني أنّه يمكن للمطوّرين تقديم صفحات مخصّصة وفقًا للمكان الذي ينتقل إليه المستخدم. على سبيل المثال، قم بتشغيل صورة متحركة مختلفة إذا كانت تأتي من الصفحة الرئيسية.
حدث عرض الصفحة
يتم تنشيط الحدث pagereveal
على عنصر نافذة المستند عند أول فرصة عرض بعد أن يتم: التحميل الأولي للمستند أو استعادته من
التخزين المؤقت للصفحات أو تفعيله من عرض مُسبَق.
يمكن لمؤلف الصفحة استخدامه لإعداد تجربة إدخال صفحة - مثل انتقال العرض من حالة سابقة.
PointerEvent.deviceId للحبر متعدد القلم
مع تزايد انتشار الأجهزة ذات الإمكانات المتقدمة لإدخال القلم،
من المهم أن يستمر نظام الويب الأساسي في التطور للتوافق بشكل كامل
مع هذه الميزات المتقدمة بهدف إتاحة تجارب غنية لكل من
المستخدمين النهائيين والمطوّرين. أحد هذه التطورات هو قدرة المحول الرقمي للجهاز على التعرف على أكثر من جهاز قلم واحد يتفاعل معه
في وقت واحد. تمثّل هذه الميزة إضافة لواجهة PointerEvent
لتشمل سمة جديدة، وهي deviceId
، تمثّل معرّفًا فريدًا ومستدامًا ومستقلًا عن الجلسات ويمكن للمطوّر استخدامه بشكل موثوق لتحديد الأقلام الفردية التي تتفاعل مع الصفحة.
عمليات التحقّق من الوصول إلى الشبكة الخاصة لطلبات التنقّل: وضع التحذير فقط
قبل أن ينتقل الموقع "أ" إلى الموقع "ب" الآخر في الشبكة الخاصة للمستخدم، تعمل هذه الميزة على إجراء ما يلي:
- تتحقق مما إذا تم بدء الطلب من سياق آمن.
- يرسل طلب مبدئي، ويتحقق مما إذا كان 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، وستتم
إزالتها الآن.