"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيف يمكنني اكتشاف وقت الخمول للمستخدم في JavaScript؟

كيف يمكنني اكتشاف وقت الخمول للمستخدم في JavaScript؟

تم النشر بتاريخ 2024-12-21
تصفح:210

How Can I Detect User Idle Time in JavaScript?

اكتشاف وقت الخمول في جافا سكريبت

المقدمة:

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

تنفيذ جافا سكريبت: للكشف وقت الخمول في JavaScript، يمكنك استخدام منهج JavaScript الفانيليا التالي:

الكود المقتطف:

var inactivityTime = function () { فار الوقت؛ window.onload =setTimer; // أحداث DOM document.onmousemove =setTimer; document.onkeydown =setTimer; تسجيل الخروج من الوظيفة () { تنبيه("لقد قمت الآن بتسجيل الخروج.") //location.href = 'logout.html' } وظيفة إعادة تعيين الموقت () { ClearTimeout(time); الوقت = setTimeout (تسجيل الخروج، 3000) // 1000 مللي ثانية = 1 ثانية } };

var inactivityTime = function () {
    var time;
    window.onload = resetTimer;
    // DOM Events
    document.onmousemove = resetTimer;
    document.onkeydown = resetTimer;

    function logout() {
        alert("You are now logged out.")
        //location.href = 'logout.html'
    }

    function resetTimer() {
        clearTimeout(time);
        time = setTimeout(logout, 3000)
        // 1000 milliseconds = 1 second
    }
};
الاستخدام:

لبدء اكتشاف وقت الخمول، اتصل بوظيفة inactivityTime() بعد تحميل الصفحة:

window.onload = وظيفة() { وقت الخمول();

window.onload = function() {
  inactivityTime();
}
التخصيص:

يمكنك إضافة المزيد من أحداث DOM لمراقبة نشاط المستخدم. بعض الأحداث الأكثر استخدامًا هي:

document.onload =setTimer; document.onmousemove =setTimer; document.onmousedown =setTimer; // اضغط على شاشة اللمس document.ontouchstart =setTimer; document.onclick =setTimer; // نقرات لوحة اللمس document.onkeydown =setTimer; // تم إهمال الضغط على المفتاح document.addEventListener('scroll',setTimer, true); // تحسين؛ راجع التعليقات

لتخصيص أفضل، يمكنك استخدام مصفوفة لتسجيل أحداث متعددة:
var inactivityTime = function () {
    var time;
    window.onload = resetTimer;
    // DOM Events
    document.onmousemove = resetTimer;
    document.onkeydown = resetTimer;

    function logout() {
        alert("You are now logged out.")
        //location.href = 'logout.html'
    }

    function resetTimer() {
        clearTimeout(time);
        time = setTimeout(logout, 3000)
        // 1000 milliseconds = 1 second
    }
};
window.addEventListener('load',setTimer, true); أحداث var = ['mousedown', 'mousemove', 'keypress', 'scroll', 'touchstart']; الأحداث.forEach(وظيفة(اسم) { document.addEventListener(name,setTimer,true); });

من خلال تخصيص الأحداث التي تراقبها، يمكنك تخصيص اكتشاف وقت الخمول ليناسب احتياجات تطبيقك المحددة.
            
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3