الجديد في Chrome 100

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

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

Chrome 100

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

شعارَا Chrome وFirefox

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

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

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

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

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

الصورة الترويجية لـ "100 لحظة رائعة على الويب"

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

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

سلسلة وكيل المستخدم المُخفَّضة

في ما يتعلّق بوكيل المستخدم، سيكون الإصدار 100 من Chrome هو الإصدار الأخير الذي يتيح استخدام سلسلة وكيل مستخدم غير مُخفَّضة تلقائيًا. يُعدّ ذلك جزءًا من استراتيجية لاستبدال استخدام سلسلة User-Agent بواجهة برمجة التطبيقات الجديدة User-Agent Client Hints API.

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

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

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

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

تتيح واجهة برمجة التطبيقات Multi-Screen Window Placement API إمكانية إدراج الشاشات المتصلة بجهاز المستخدم ووضع النوافذ على شاشات محدّدة.

يمكنك التحقّق سريعًا ممّا إذا كان هناك أكثر من شاشة واحدة متصلة بال الجهاز باستخدام 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;
  }
});

اطّلِع على مقالة توم المعدّلة بعنوان إدارة عدّة شاشات باستخدام Multi-Screen Window Placement API على 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();

مراجع إضافية

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

اشتراك

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

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