تم إجراء تغيير في تنفيذ TouchEvents في Chrome اعتبارًا من الإصدار M37 (الإصدار الثابت في آب (أغسطس) 2014)، ما يؤدي إلى تغيير الإحداثيات التي يتم الإبلاغ عنها إلى أعداد كسرية بدلاً من أعداد صحيحة.
قبل | بعد |
---|---|
clientX: 167 clientY: 196 pageX: 167 pageY: 196 radiusX: 26 radiusY: 26 screenX: 167 screenY: 277 |
clientX: 167.33299255371094 clientY: 195.66700744628906 pageX: 167.33299255371094 pageY: 195.66700744628906 radiusX: 25.843116760253906 radiusY: 25.843116760253906 screenX: 167.33334350585938 screenY: 276.66668701171875 |
نتيجةً لذلك، ستحصل على استجابة أكثر سلاسة لجسد المستخدمين، لأنّه يمنحك دقة أكبر في تحديد موضع الأصابع.
باستخدام العرض التقديمي الذي أعدّه "ريك بيرز"، يمكنك التعرّف على الفرق الكبير الذي يمكن أن يحدثه ذلك عند رسم دوامة ببطء.

ولن يؤثر ذلك إلا في الشاشات التي تزيد فيها كثافة وحدات البكسل عن 1. لفهم السبب، لنطّلِع على مثال.
تخيل أنّ لديك شبكة 3×3 من بكسلات CSS وكثافة الشاشة هي 3، أي أنّ لدينا شبكة من بكسلات حقيقية بحجم 9×9، ويستخدم المستخدم الإيماءات من أعلى يمين إلى أسفل يمين.

في الأصل، كنا نُقرّب موضع اللمس إلى أقرب بكسل في CSS، ما يعني أنّك ستنتهي في هذه الإيماءة إلى الخطوات التالية.

لا يمكننا رسم أيّ من الخطوات الوسيطة التي يمكن أن تعرِضها وحدات البكسل المادية عندما يحرِّك المستخدم إصبعه.
بعد أن انتقلنا إلى العناصر العائمة، يمكن أن تبدو إيماءتنا على النحو التالي.

في معظم الحالات، لن يتطلّب ذلك إجراء أي تغييرات في الرمز، ولكن سيؤدي ذلك إلى أن تكون أي رسوم متحركة أو حركات تجريها نتيجةً لأحداث اللمس أكثر سلاسة، خاصةً مع الإيماءات البطيئة.
هناك أيضًا خطة لتوفير هذا التحسين في متصفّح Safari للأجهزة الجوّالة أيضًا: https://bugs.webkit.org/show_bug.cgi?id=133180.