الجديد في Chrome 100

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

اسمي بيت ليب. لنتعمق أكثر ونتعرّف على الميزات الجديدة للمطوّرين في Chrome 100.

Chrome 100

عندما وصلت المتصفحات إلى الإصدار 10 لأول مرة، كانت هناك بعض المشكلات نظرًا لأن رقم الإصدار الرئيسي تحول من رقم واحد إلى رقمين. نأمل أن نكون قد تعلمنا بعض الأشياء التي تسهل الانتقال من رقمين إلى ثلاثة.

شعار Chrome وFirefox

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

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

  • إذا كنت تعمل على صيانة مواقع الويب، فاختبر موقعك على الويب باستخدام Chrome وFirefox 100.
  • إذا طورت مكتبة تحليل وكيل المستخدم، أضِف الاختبارات لتحليل الإصدارات الأكبر من 100 وتساويها.

اطّلِع على Chrome وFirefox قريبًا للوصول إلى الإصدار 100 الرئيسي على web.dev للحصول على مزيد من التفاصيل.

100 لحظة رائعة على الويب

صورة ترويجية 100 Cool Web Moments

كان من دواعي سرورنا أن نرى تطوّر شبكة الويب ونرى كل الأشياء الرائعة التي أنشأتها على مدار آخر 100 إصدار من Chrome. اعتقدنا أنّه سيكون من الممتع التحرّك في جزء من الذاكرة والاحتفال بـ #100CoolWebMoments التي حدثت في آخر 14 عامًا.

يُرجى إخبارنا باللحظات التي أحببتها أكثر من غيرها. إذا لم نتلقَّ أي رد (ونؤكّد ذلك)، يُرجى التغريد على @Chromiumdev وتضمين #100CoolWebMoments نتمنّى لك وقتًا ممتعًا.

سلسلة وكيل المستخدم المنخفضة

وبالحديث عن وكيل المستخدم، سيكون Chrome 100 هو الإصدار الأخير الذي يتيح استخدام سلسلة وكيل المستخدم بدون تقليل عدد مرات الظهور تلقائيًا. وتأتي هذه الخطوة في إطار استراتيجية لاستبدال استخدام سلسلة "وكيل المستخدم" بواجهة برمجة التطبيقات الجديدة User-Agent Client Hints API.

بدءًا من الإصدار 101 من Chrome، سيتم تقليل وكيل المستخدم تدريجيًا.

راجع الفترة التجريبية والتواريخ المتعلقة بتقليل عدد وكيل المستخدم على [مدونة Chromium][crblog] لمزيد من المعلومات حول ما ستتم إزالته ووقت إزالته.

واجهة برمجة التطبيقات لمواضع النوافذ المتعددة الشاشات

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

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

يمكنك التحقّق سريعًا مما إذا كانت هناك أكثر من شاشة واحدة متصلة بالجهاز باستخدام window.screen.isExtended.

const isExtended = window.screen.isExtended;
// returns true/false

غير أنّ الوظيفة الأساسية هي window.getScreenDetails() التي توفّر تفاصيل حول الشاشات المرفقة.

const x = await window.getScreenDetails();
// returns
// {
//    currentScreen: {...}
//    oncurrentscreenchange: null
//    onscreenschange: null
//    screens: [{...}, {...}]
// }

على سبيل المثال، يمكنك تحديد الشاشة الأساسية، ثم استخدام requestFullscreen() لعرض العنصر في وضع ملء الشاشة على هذه الشاشة.

try {
  const screens = await window.getScreenDetails();
  const primary = screens
         .filter((screen) => screen.primary)[0]
  await elem.requestFullscreen({ screen: primary });
} catch (err) {
  console.error(err);
}

وتتيح لك هذه الميزة أيضًا الاستماع إلى التغييرات، مثلاً عند توصيل شاشة جديدة أو إزالتها، وتغيُّر درجة الدقة، وما إلى ذلك.

const screens = await window.getScreenDetails();
let numScreens = screens.screens.length;
screens.addEventListener('screenschange', (event) => {
  if (screens.screens.length !== numScreens) {
    console.log('Screen count changed');
    numScreens = screens.screens.length;
  }
});

يُرجى مراجعة المقالة المعدَّلة التي كتبها توم إدارة شاشات متعددة باستخدام واجهة برمجة تطبيقات موضع نافذة متعدد الشاشات على web.dev للحصول على مزيد من التفاصيل.

ومقاييس أخرى

بالطبع هناك المزيد.

تتوفّر طريقة forget() جديدة لأجهزة HID تتيح لك إبطال الإذن الذي منحه المستخدم لجهاز HID.

// Request an HID device.
const [device] = await navigator.hid.requestDevice(opts);


// Then later, revoke permission to the device.
await device.forget();

أمّا بالنسبة إلى تقنية WebNFC، فتتيح لك طريقة makeReadOnly() ضبط علامات NFC للقراءة فقط بشكل دائم.

const ndef = new NDEFReader();
await ndef.makeReadOnly();

محتوى إضافي للقراءة

يتناول هذا فقط بعض النقاط الرئيسية. راجِع الروابط أدناه للاطّلاع على التغييرات الإضافية في الإصدار Chrome 100.

اشتراك

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

اسمي بيت ليب، وبعد إطلاق Chrome 101، سأكون هنا لإخبارك بالجديد في Chrome!