Я занимаюсь 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); });
Чтобы уточнить, я пытаюсь получить работать выход из системы, то есть страница будет сказать, "Вы вышли из-за неактивности "
Спасибо, что решила проблему NaN .. но любая идея, как я могу заставить этот объект запустить функцию выхода из системы? –
@ Malky.Kid конечно. Используйте 'setInterval' вместо' setTimeout' - setTimeout запускается только один раз. – JSilv
Большое спасибо Jsilv. –