2017-02-21 2 views
0

Я занимаюсь Javascript и пытаюсь закодировать объект, который, когда он ссылается на веб-странице, будет следить за пользователем и выходить из него, если он неактивен.Объект возвращает NaN, затем выполняет функцию объекта fire

Однако объект не работает должным образом. Я попытался просмотреть свойство minsBeforeForceLogout, и он возвращает NaN

Я попытался установить свойство 0 перед setTimeout, потому что я прочитал, что в точке объявления объект еще не имеет значений, но все же он не увеличивается. могу я решить это? Я использую смесь Javascript и JQuery

EDIT У меня проблема NaN решена, но когда я бегу событие выхода из системы не срабатывает на мой если. Что-то не так с моим состоянием?

EDIT 2 Я заменил setTimeOut с setInterval

$(document).ready(function() { 


/*below object mainly checks if user is inactive*/ 
var monitorIfActive = { 
    minsBeforeForceLogOut : 0, //if this variable reaches threshold, logout commences 
    threshold: 5, 

    resetInactivity : function(e) { 
     monitorIfActive.minsBeforeForceLogOut = 0;   
    }, 

    userIsInactive : function() { 
     monitorIfActive.minsBeforeForceLogout++; 
     swal(monitorIfActive.minsBeforeForceLogout.toString());// <- **returns NaN** 

     if (monitorIfActive.minsBeforeForceLogout >= monitorIfActive.threshold) 
     { 
      monitorIfActive.logout(); 
     } 

    }, 

    logout: function() { 
     swal("You have been logged out due to inactivity"); 
    } 


} 

//bind to html 
$('body').on('keypress click mousemove scroll', monitorIfActive.resetInactivity); 


//start the timer countdown for our monitor object. 
monitorIfActive.minsBeforeForceLogOut = 0; //<- I tried this, but still it does not work. 
var startMonitoring = setTimeout(monitorIfActive.userIsInactive, 1000); }); 

Чтобы уточнить, я пытаюсь получить работать выход из системы, то есть страница будет сказать, "Вы вышли из-за неактивности "

ответ

2

В вашем определении у вас есть minsBeforeForceLogOut, в то время как в кучке других мест у вас есть minsBeforeForceLogout - различные верблюжий.

+0

Спасибо, что решила проблему NaN .. но любая идея, как я могу заставить этот объект запустить функцию выхода из системы? –

+1

@ Malky.Kid конечно. Используйте 'setInterval' вместо' setTimeout' - setTimeout запускается только один раз. – JSilv

+0

Большое спасибо Jsilv. –

Смежные вопросы