для начала var timer:any;
недопустимо в JavaScript;
Ваш таймер должен быть установлен на 5000
, что составляет 5 секунд, затем внутри него всегда очищайте таймер (чтобы избежать нескольких щелчков, вызывающих ту же функцию), и когда таймер достигает 5 секунд, запустите другой таймер с 1000 мс, это один вызовет функцию out()
.
Внутри out()
вам не нужно каждый раз добавлять прослушиватель в документ, просто используйте boolen, чтобы проверить, был ли он уже добавлен или нет. добавление слушателя достаточно одного раза.
Кроме того, поскольку session()
является функцией, чтобы начать ее с самого начала, вы должны вызвать эту функцию хотя бы один раз.
var timer;
var listenersAdded = false;
function session() {
clearTimeout(this.timer)
this.timer = setTimeout(() => {
console.log("please access the page ur going to logout in 1 seconds");
this.timer = setTimeout(() => out(), 1000)
}, 5000)
}
function out() {
console.log("logged out");
if (listenersAdded != true){
listenersAdded = true
document.addEventListener('keypress', session);
document.addEventListener('click', session);
}
}
session()
Но вы знаете, что почти невозможно прочитать сообщение о выходе из системы и сделать что-то менее чем за секунду, верно?