إنّ سلاسة الانتقال بين الصفحات هي أهم ما يبحث عنه المستخدمون. في السابق، كان Chrome يتيح الانتقال السلس في بعض الأماكن، مثل عندما يستخدم المستخدمون لوحات اللمس أو يمسحون سريعًا للانتقال إلى صفحة على الأجهزة الجوّالة. ولكن إذا كان لدى المستخدم فأرة متصلة، سيحصل على سلوك تنقّل "مخطّط" أكثر تشوّشًا، وهو أقل جمالًا من الناحية الجمالية. سيتم تغيير ذلك في الإصدار 49 من Chrome.
وقد كان حلّ العديد من المطوّرين لسلوك الانتقال المرحلي الأصلي المستنِد إلى الإدخال هو استخدام المكتبات، بهدف إعادة تعيينه إلى سلوك أكثر سلاسة وراحة للعين. وينفّذ المستخدمون ذلك أيضًا من خلال الإضافات. ومع ذلك، هناك عيوب لكلّ من المكتبات والإضافات التي تغيّر طريقة الانتقال للأعلى أو للأسفل:
- الشعور بالغرابة ويظهر ذلك بطريقتَين: أولاً، قد يتمتع موقع إلكتروني بسلوك سلس للتمرير، ولكن قد لا يتمتع موقع إلكتروني آخر بذلك، ما قد يتسبب في شعور المستخدم بالارتباك بسبب عدم الاتساق. ثانيًا، لن تتطابق بالضرورة قوانين الفيزياء التي تتحكم في سلاسة أداء المكتبة مع قوانين الفيزياء التي تتحكم في أداء المنصة. وبالتالي، على الرغم من أنّ الحركة قد تكون سلسة، إلا أنّها قد تبدو غير صحيحة أو غريبة.
- زيادة احتمالية حدوث تداخل في سلسلة المهام الرئيسية وبطء في الأداء وكما هو الحال مع أي رمز JavaScript تمت إضافته إلى الصفحة، سيزداد تحميل وحدة المعالجة المركزية. لا يشكّل ذلك بالضرورة مشكلة، وذلك حسب الإجراءات الأخرى التي تتّخذها الصفحة، ولكن إذا كان هناك بعض الأعمال التي تستغرق وقتًا طويلاً في سلسلة المحادثات الرئيسية، وكان الانتقال للأعلى أو للأسفل مرتبطًا بسلسلة المحادثات الرئيسية، يمكن أن تكون النتيجة النهائية هي الانتقال للأعلى أو للأسفل بشكل متقطّع وبطيء.
- مزيد من عمليات الصيانة للمطوّرين، ومزيد من الرموز البرمجية للمستخدمين لتنزيلها يجب تحديث المكتبة التي تتيح الانتقال السلس للأعلى أو للأسفل والحفاظ عليها، وسيؤدي ذلك إلى زيادة إجمالي وزن الصفحة في الموقع الإلكتروني.
غالبًا ما تنطبق هذه العيوب أيضًا على العديد من المكتبات التي تتعامل مع سلوكيات الانتقال إلى الأسفل أو الأعلى، سواء كانت تأثيرات التماثل البصري أو صورًا متحركة أخرى مرتبطة بالانتقال إلى الأسفل أو الأعلى. وغالبًا ما تؤدي إلى حدوث تقطُّع في الأداء، وتقف عائقًا أمام سهولة الاستخدام، وتؤثر سلبًا في تجربة المستخدم بشكل عام. إنّ الانتقال للأعلى أو للأسفل هو تفاعل أساسي على الويب، ويجب إجراء أي تغييرات عليه باستخدام المكتبات بعناية فائقة.
في الإصدار 49 من Chrome، سيتم تغيير سلوك الانتقال التلقائي للأعلى أو للأسفل في نظام التشغيل Windows وLinux وChromeOS. سنزيل سلوك التمرير القديم المخطّط، وسيكون التمرير سلسًا تلقائيًا. ولا يلزم إجراء أي تغييرات على الرمز البرمجي، باستثناء إزالة أي مكتبات لميزة الانتقال السلس للأعلى أو للأسفل في حال استخدامها.
ميزات إضافية للانتقال للأعلى أو للأسفل
هناك ميزات أخرى رائعة مرتبطة بالانتقال إلى الأسفل أو الأعلى في الصفحة، وهي تستحق الذكر أيضًا. يريد الكثير منا استخدام تأثيرات مرتبطة بالتمرير، مثل تأثير التمويه، والتمرير السلس إلى جزء من المستند (مثل example.com/#somesection). كما ذكرت سابقًا، يمكن أن تكون الأساليب المستخدَمة اليوم ضارة في كثير من الأحيان للمطوّرين والمستخدمين على حدّ سواء. هناك معياران للمنصة يتم العمل عليهما ويمكن أن يساعدا في ذلك: Compositor Worklets وscroll-behavior
CSS property.
Houdini
تشكّل "مهام المُركّب" جزءًا من Houdini، ولم يتم تحديد مواصفاتها وتنفيذها بالكامل بعد. ومع ذلك، بعد طرح التعديلات، ستسمح لك بكتابة JavaScript الذي يتم تشغيله كجزء من مسار المعالجة في أداة الدمج، ما يعني بشكل عام أنّه سيتم الحفاظ على اتساق التأثيرات المرتبطة بالتمرير، مثل التمويه، بشكلٍ مثالي مع موضع التمرير الحالي. ونظرًا للطريقة التي يتم بها التعامل مع عملية التمرير اليوم، حيث يتم إرسال أحداث التمرير بشكل دوري إلى سلسلة التعليمات الرئيسية فقط (ويمكن أن يتم حظرها من خلال عمل سلسلة التعليمات الرئيسية الأخرى)، سيمثّل ذلك قفزة كبيرة إلى الأمام. إذا كنت مهتمًا بـ Compositor Worklets أو أي من الميزات الجديدة المثيرة الأخرى التي يوفّرها Houdini، اطّلِع على مقالة Surma التعريفية عن Houdini ومواصفات Houdini، وشارك أفكارك في قائمة Houdini البريدية.
scroll-behavior
عندما يتعلق الأمر بالتمرير المستند إلى الأجزاء، يمكنك استخدام سمة CSS scroll-behavior
للحصول على مساعدة أخرى. إذا أردت تجربتها، يُسعدنا إعلامك بأنّها متوفّرة في Firefox، ويمكنك تفعيلها في Chrome Canary باستخدام العلامة "تفعيل ميزات Web Platform التجريبية". على سبيل المثال، إذا ضبطت عنصر <body>
على scroll-behavior: smooth
، سيتم تطبيق تأثير سلس على جميع عمليات التمرير التي يتم تشغيلها إما بسبب تغييرات في المقتطف أو بسبب window.scrollTo
. وهذا أفضل بكثير من استخدام رمز من مكتبة تحاول تنفيذ الإجراء نفسه والحفاظ عليه. بالنسبة إلى ميزة أساسية مثل الانتقال للأعلى أو للأسفل، من المهم جدًا عدم مخالفة توقعات المستخدمين، لذا على الرغم من أنّ هذه الميزات لا تزال قيد التطوير، لا يزال من المفيد اتّباع نهج التحسين التدريجي وإزالة أي مكتبات تحاول استخدام polyfill لهذه السلوكيات.
الانتقال إلى الأعلى والأسفل
اعتبارًا من الإصدار 49 من Chrome، أصبح الانتقال للأعلى أو للأسفل أكثر سلاسة. ولكن هذا ليس كل شيء: هناك المزيد من التحسينات المحتملة التي قد تظهر من خلال Houdini وخصائص CSS مثل smooth-scroll
. ننصحك بتجربة الإصدار 49 من Chrome وإعلامنا برأيك، والأهم من ذلك، السماح للمتصفّح بالتمرير للأعلى أو للأسفل كلما أمكن ذلك.