ساعة توقيت إلكترونية (مع تسجيل اللفات)
ساعة توقيت دقيقة تسجّل اللفات، تعمل داخل تبويب متصفحك — ابدأ، سجّل لفة، أوقف مؤقتًا، وأعد الضبط بنقرة واحدة، دون الحاجة لأي تطبيق.
913 مشاهدة
| اللفة | المدة | المجموع |
|---|
ساعة توقيت تعمل ببساطة
اضغط ابدأ فتنطلق الساعة بدقة جزء من مئة من الثانية؛ اضغط لفة في أي لحظة لتسجيل توقيت جزئي دون إيقاف العدّاد، وتُظهر كل لفة مدتها الخاصة إلى جانب المجموع التراكمي. أوقف مؤقتًا واستأنف بحرية، أو أعد الضبط إلى الصفر متى كنت مستعدًا لبدء جلسة جديدة.
لا يوجد تطبيق تحتاج لتثبيته ولا شيء يحتاج لإعداده — افتح الصفحة، اضغط ابدأ، وتعمل الساعة داخل التبويب تمامًا بالمدة التي تحتاجها، سواء كانت فاصلاً مدته 30 ثانية أو جلسة تمتد ساعات. يبقى كل لفة تسجّلها ظاهرًا في قائمة قابلة للتمرير، فتقارن الأزمنة الجزئية بنظرة واحدة بدلاً من تدوينها بشكل منفصل. تعمل الواجهة على الهاتف تمامًا كما على سطح المكتب، فتؤدي وظيفتها سواء ثُبِّتت على جهاز المشي، أو وُضعت على منضدة المطبخ، أو فُتحت على حاسوب محمول أثناء بروفة.
كيف يعمل التوقيت
تكشف المتصفحات في الواقع عن ساعتين مختلفتين لجافاسكريبت: Date.now()، التي تتبع ساعة النظام ويمكن أن تقفز إلى الأمام أو الخلف عند إعادة مزامنتها مع خادم وقت NTP، وperformance.now()، وهي ساعة أحادية الاتجاه لا تتحرك إلا إلى الأمام وتقيس الوقت المنقضي منذ تحميل الصفحة بدقة أعلى بكثير. تستخدم هذه الساعة performance.now()، فتبقى اللفة دقيقة حتى لو تغيّرت ساعة حاسوبك أثناء الجلسة — وهو أمر ستُخطئ فيه بوضوح ساعة توقيت بسيطة مبنية على Date. يتحدّث العرض نفسه عبر requestAnimationFrame بدلاً من فاصل زمني ثابت مثل setInterval، مما يبقي الأرقام تُعرض بسلاسة متزامنة مع معدل تحديث شاشتك بدلاً من أن تتقطع أو تنحرف خلال جلسة طويلة. هذا الفارق غير مرئي في الاستخدام اليومي، لكنه السبب في أن ساعة توقيت قائمة على المتصفح يمكن أن تكون موثوقة تمامًا كساعة زمنية مخصَّصة من حيث العتاد، لأي استخدام دون مستوى القياس المخبري.
- التمارين الرياضية وتدريبات الفواصل الزمنية — سجّل كل جولة كلفة منفصلة
- الطهي — وقّت خطوات متعددة دون أن تفقد تتبع الوقت الإجمالي
- بروفات العروض التقديمية والخطابة — تتبّع التوقيت قسمًا بقسم
- أي مهمة ذات مراحل متمايزة تريد مقارنتها جنبًا إلى جنب لاحقًا
الأسئلة الشائعة
هل تبقى دقيقة إذا بدّلت التبويبات؟
نعم — تعتمد الشاشة على الوقت الفعلي المنقضي عبر performance.now()، لا على عدّاد يزداد بفاصل زمني ثابت ويمكن أن ينحرف عندما يكون التبويب في الخلفية. تُبطئ المتصفحات فعلاً المؤقتات الخلفية مثل setInterval توفيرًا للطاقة، لكن بما أن هذه الساعة تعيد الحساب دائمًا من الوقت الفعلي المنقضي بدلاً من عدّ النبضات، فإن الوقت النهائي يكون صحيحًا لحظة عودتك إلى التبويب.
كم لفة يمكنني تسجيلها؟
بقدر ما تريد ضمن الجلسة الواحدة — تُمرَّر القائمة فلا تنفد المساحة على الشاشة أبدًا. تُحفظ اللفات فقط في ذاكرة الصفحة، لا في أي مكان دائم، لذا تُمسح تلقائيًا لحظة إعادة ضبط الساعة أو إعادة تحميل الصفحة.
هل تُحفظ بيانات التوقيت في أي مكان؟
لا — تعيش فقط في ذاكرة الصفحة طالما بقي التبويب مفتوحًا، وتختفي لحظة مغادرته أو تحديثه أو إغلاقه. لا يُرسَل شيء إلى خادم ولا يُخزَّن شيء محليًا، فلا يوجد سجل يجب مسحه ولا قلق يتعلق بالخصوصية بشأن الجلسات السابقة.
ما الفرق بين Date.now() وperformance.now()، ولماذا يهم هنا؟
تعكس Date.now() ساعة النظام، التي يمكن أن تقفز عند إعادة مزامنتها مع خادم وقت، أو عند تغيير المستخدم لساعته، أو عند استيقاظ الجهاز من وضع السكون — وهو أمر سيّئ لأي شيء يقيس فاصلاً زمنيًا. أما performance.now() فأحادية الاتجاه: لا تقفز إلى الخلف أبدًا وتقيس الوقت المنقضي منذ تحميل الصفحة بدقة عالية، وهذا هو السبب في استخدام هذه الأداة لها في كل لفة وكل مجموع تراكمي.
لماذا لا تُظهر الساعة دقة على مستوى الميكروثانية؟
يمكنها ذلك نظريًا — فقد صُممت performance.now() في الأصل بدقة أقل من الميلي ثانية — لكن منذ عام 2018، تعمّدت المتصفحات تقييد دقتها، عادةً إلى نحو 0.1-1 ميلي ثانية، دفاعًا ضد هجمات التوقيت من نوع Spectre/Meltdown، حيث يمكن استخدام مؤقّت دقيق بما يكفي لاستنتاج بيانات من عمليات أخرى. يقع العرض بدقة جزء من مئة من الثانية هنا ضمن هامش الأمان ذاك براحة، وهو بالنسبة للتمارين الرياضية أو الطهي أو البروفات أدق بكثير مما قد يحتاجه رد فعل بشري على الإطلاق.
أدوات مشابهة
الإبلاغ عن مشكلة
ساعة توقيت إلكترونية (مع تسجيل اللفات)
التعليقات
لا توجد تعليقات بعد — كن أول من يكتب تعليقًا!