تنطبق التغييرات التالية على أحدث إصدار من الإصدار التمهيدي ل Chrome في القنوات الاختبارية لنظام التشغيل Android وChromeOS وLinux وmacOS وWindows، ما لم يُذكر خلاف ذلك. يمكنك الاطّلاع على مزيد من المعلومات عن الميزات المدرَجة هنا من خلال الروابط المقدَّمة أو من القائمة على ChromeStatus.com. يتوفر الإصدار Chrome 123 الإصدار التجريبي اعتبارًا من 21 شباط (فبراير) 2024. يمكنك تنزيل أحدث إصدار من الموقع الإلكتروني Google.com على أجهزة الكمبيوتر المكتبي أو من "متجر Google Play" على أجهزة Android.
CSS
يضيف هذا الإصدار خمس ميزات جديدة في CSS.
دالة light-dark()
للألوان في CSS
تتيح دالة light-dark()
في CSS للمطوّرين إمكانية تعديل
color-scheme بسهولة أكبر وفقًا للإعدادات المفضّلة للمستخدم في الوضع الفاتح أو الداكن.
استخدِم light-dark()
لتحديد قيمتَي لون مختلفتَين ضمن سمة CSS
واحدة. سيختار المتصفّح (أو الجهاز) تلقائيًا
اللون المناسب استنادًا إلى قيمة color-scheme
المحسوبة للعنصر. على سبيل المثال، باستخدام
الرمز البرمجي التالي لتنسيق CSS:
- إذا اختار المستخدم مظهرًا فاتحًا، سيكون لعنصر
.target
خلفية ليموني. - إذا اختار المستخدم مظهرًا داكنًا، سيكون لعنصر
.target
خلفية خضراء.
html {
color-scheme: light dark;
}
.target {
background-color: light-dark(lime, green);
}
وضع عرض "نافذة ضمن النافذة" في CSS
تضيف هذه السمة إمكانية استخدام ميزة وسائط CSS
display-mode
للقيمة picture-in-picture
. يتيح ذلك لمطوّري الويب
كتابة قواعد CSS معيّنة لا يتم تطبيقها إلا عند عرض (جزء من) تطبيق الويب
في وضع "نافذة ضمن النافذة".
يمكنك الاطّلاع على مزيد من المعلومات حول ميزة الوسائط هذه في مستندات ميزة "نافذة ضمن النافذة".
خاصية align-content في CSS للعناصر
أصبحت سمة CSS align-content
متوافقة الآن مع حاويات الكتل وخلايا الجدول. في السابق، كان هذا السمة متاحًا فقط للعناصر المربّعة وعناصر Flex. على سبيل المثال، يمكن الآن alinhardisplay: 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
هو عنوان URL للبيانات.
هذا قيد غير ضروري، لأنّ النصوص البرمجية للوحدات المضمّنة التي تستورد غيرها من
النصوص البرمجية ستظلّ قادرة على عرض المحتوى.
ويعود السبب في ذلك إلى أنّ عمليات الانتقال بين طرق العرض في المستندات المختلفة تعتمد غالبًا على النصوص البرمجية التي تحظر العرض من أجل التخصيص، لذا فإنّ تسهيل إنشاء النصوص البرمجية التي تحظر العرض سيتيح استخدام هذه الميزة.
عرض نافذة ضمن النافذة للمستندات: السماح لواجهة برمجة التطبيقات focus()
بالتركيز على الافتتاحية
يمكنك الآن استخدام رمز
opener.focus()
من نافذة "نافذة ضمن النافذة" للمستند لتركيز مستوى النظام على علامة التبويب
التي تملك نافذة "نافذة ضمن النافذة" للمستند.
يتيح ذلك للمطوّرين إعادة عرض علامة التبويب الأصلية في المقدّمة عند الضرورة. على سبيل المثال، عندما يحتاج المستخدم إلى الوصول إلى تجربة واجهة مستخدم لا تتناسب مع نافذة "صورة في صورة" الأصغر حجمًا.
بنية استيراد السمات with
سمات الاستيراد هي ميزة في JavaScript للسماح بإضافة تعليقات توضيحية إلى ملفّات تعريف
عمليات الاستيراد، مثل import xxx from "mod" with { type: "json" }
. كان Chrome يُرسِل في الأساس إصدارًا سابقًا من الاقتراح (في الإصدار 91 من Chrome) باستخدام
assert
ككلمة رئيسية. تم بعد ذلك تعديل هذا الإصدار لاستخدام with
بسبب
بعض التغييرات اللازمة أثناء دمجه مع وحدات HTML لتنسيق JSON وCSS.
jitterBufferTarget
تتيح سمة jitterBufferTarget
للتطبيقات تحديد مدّة زمنية مستهدفة بالملي ثانية للوسائط التي يمكن أن يحتفظ بها RTCRtpReceiver
مخفّض الارتعاش. ويؤثر ذلك في مقدار التخزين المؤقت الذي يُجريه وكيل المستخدم، ما يؤدي بدوره إلى التأثير في عمليات إعادة الإرسال واسترداد الحِزم المفقودة. يتيح تغيير القيمة المستهدفة
للتطبيقات التحكّم في التوازن بين تأخُّر التشغيل و
خطر نفاد إطارات الصوت أو الفيديو بسبب عدم ثبات الشبكة.
توقيت عرض الصور المتحركة التي تستغرق وقتًا طويلاً
Long Animation Frames API هي إضافة إلى Long Tasks API. ويقوم بقياس المهمة مع تعديل التقديم اللاحق، مع إضافة معلومات مثل النصوص البرمجية التي تستغرق وقتًا طويلاً ووقت التقديم والوقت المستغرَق في التنسيق والأسلوب الإجباريَين، والمعروف باسم التغيير المفاجئ للتنسيق.
يمكن للمطوّرين استخدام ذلك كبيانات تشخيصية "للبطء" الذي يتم قياسه باستخدام INP، وذلك من خلال العثور على أسباب ازدحام السلسلة الرئيسية التي غالبًا ما تكون سببًا لقيمة INP غير الصالحة.
NavigationActivation
تضيف واجهة NavigationActivation navigation.activation
. يخزّن هذا الحقل حالة تفعيل المستند الحالي (على سبيل المثال، عند بدء استخدامه أو استعادته من ذاكرة التخزين المؤقت للصفحات).
ويعني ذلك أنّه يمكن للمطوّرين تقديم صفحات مخصّصة استنادًا إلى الصفحة التي صعَّد منها المستخدِم. على سبيل المثال، يمكنك عرض صورة متحركة مختلفة إذا وصل المستخدمون من الصفحة الرئيسية.
حدث pagereveal
يتم تشغيل الحدث pagereveal
على عنصر نافذة المستند في أول فرصة
لعرض بعد أن يتم: تحميل المستند في البداية أو استعادته من
التخزين المؤقت للانتقال إلى الخلف أو الأمام أو تفعيله من عملية عرض مُسبَق.
ويمكن لمؤلف الصفحة استخدامها لإعداد تجربة دخول إلى الصفحة، مثل انتقال عرض من حالة سابقة.
PointerEvent.deviceId لميزة "الكتابة باستخدام عدّة أقلام"
مع تزايد استخدام الأجهزة المزوّدة بإمكانات متقدّمة لإدخال القلم، من المهم أن تستمر منصة الويب في التطور لكي توفّر هذه الميزات المتقدّمة بالكامل من أجل توفير تجارب غنية لكل من المستخدمين النهائيين والمطوّرين. ومن بين هذه التحسينات، إمكانية رصد أداة تحويل الخطوط المكتوبة إلى رقمية في الجهاز لعدة أجهزة قلم تتفاعل معه في الوقت نفسه. هذه الميزة هي إضافة إلى واجهة PointerEvent
لإضافة سمة جديدة، deviceId
، تمثّل معرّفًا فريدًا ومستمرًا على مستوى الجلسة
ومعزّلًا على مستوى المستند يمكن للمطوّر استخدامه بشكل موثوق لتحديد الأقلام الفردية التي تتفاعل مع الصفحة.
عمليات التحقّق من طلبات التنقّل للوصول إلى الشبكة الخاصة: وضع التحذير فقط
قبل أن ينتقل الموقع الإلكتروني "أ" إلى موقع إلكتروني آخر "ب" في الشبكة الخاصة للمستخدم، تُجري هذه الميزة ما يلي:
- للتحقّق مما إذا كان الطلب قد بدأ من سياق آمن
- يُرسِل طلبًا للفحص المُسبَق، ويتحقّق مما إذا كان "ب" يستجيب بعنوان يسمح بالوصول إلى الشبكة الخاصة.
تتوفّر حاليًا ميزات للموارد الفرعية والعمال، ولكن هذه الإضافة مخصّصة لطلبات التنقّل على وجه التحديد.
يتم إجراء عمليات التحقّق هذه لحماية شبكة المستخدم الخاصة. وبما أنّ هذه الميزة هي وضع "تحذير فقط"، لن يؤدي عدم اجتياز أي من عمليات التحقّق إلى رفض الطلبات. بدلاً من ذلك، سيتم عرض تحذير في "أدوات مطوّري البرامج" لمساعدة المطوّرين في الاستعداد لتنفيذ السياسة القادمة.
تعديل العميل Sec-CH-UA-Form-Factor
يشير هذا التلميح إلى "شكل الجهاز" لوكيل المستخدم أو الجهاز، حتى تتمكّن الموقع الإلكتروني من تخصيص استجابته.
واجهة برمجة تطبيقات التوجيه الثابت لمشغّل الخدمات
تسمح واجهة برمجة التطبيقات هذه للمطوّرين بضبط التوجيه، كما تسمح لهم بتحميل المهام البسيطة التي ينفّذها موظّفو الخدمة. وفي حال تطابق الشرط، تتم عملية التنقّل بدون بدء موظّفي الخدمة أو تنفيذ JavaScript، ما يسمح لصفحات الويب بتجنّب عقوبات الأداء بسبب عمليات اعتراض موظّفي الخدمة. لمزيد من المعلومات، يُرجى الاطّلاع على مشاركة المدوّنة السابقة حول واجهة برمجة التطبيقات هذه.
تعديل مساحة التخزين المشتركة
يتيح هذا التعديل تشغيل وحدات العمل من مصادر متعددة بدون الحاجة إلى إنشاء ملف iframe.
ترميز المحتوى zstd
Zstandard أو zstd هي آلية ضغط بيانات موضّحة في RFC8878. وهي
خوارزمية ضغط سريعة بدون فقدان المعلومات، تستهدف سيناريوهات الضغط في الوقت الفعلي
على مستوى zlib ونسَب ضغط أفضل. تمت إضافة الرمز المميّز zstd
كرمز مميّز لتشفير المحتوى مسجَّل لدى جمعية IANA.
ستساعد إضافة zstd
كترميز محتوى في تحميل الصفحات بشكل أسرع
واستخدام قدر أقل من معدل نقل البيانات، وقضاء وقت أقل واستخدام وحدة المعالجة المركزية والطاقة بشكل أقل في عملية الضغط على
الخوادم، ما يؤدي إلى خفض تكاليف الخوادم.
عمليات التجربة والتقييم الجديدة
في الإصدار 123 من Chrome، يمكنك تفعيل فترات الإصدار التجريبي من المصدر الجديدة التالية.
دمج وعد JavaScript في WebAssembly
لدعم التطبيقات سريعة الاستجابة المكتوبة باستخدام WebAssembly، يجب توفير ميزات تسمح بتعليق برامج WebAssembly واستئنافها.
إنّ حالة الاستخدام الأولية الأساسية لدمج الوعود هي السماح لبرامج WebAssembly التي يعتمد مصدرها على واجهات برمجة التطبيقات المتزامنة باستخدام واجهات برمجة التطبيقات غير المتزامنة التي تزداد شيوعًا على منصة الويب.
التسجيل في الفترة التجريبية لميزة "دمج الوعد"
عمليات الإزالة
يزيل الإصدار 123 من Chrome الميزة التالية:
الاسم المستعار window-placement
للإذن وسياسة الأذونات window-management
في الإصدار 111 من Chrome، window-management
تمّت إضافته
كعنوان بديل لإذن window-placement
وسلاسل سياسات الأذونات.
كان ذلك جزءًا من جهد أكبر لإعادة تسمية السلاسل من خلال إيقاف window-placement
نهائيًا
وإزالته. يؤدي تغيير المصطلحات إلى تحسين مدة صلاحية
الوصف مع تطور Window Management API بمرور الوقت.
بدأت التحذيرات بشأن إيقاف الرمز البديل window-placement
نهائيًا في الإصدار 113 من Chrome،
وستتم إزالته الآن.