Требуется установить таймаут в случае необходимости в следующих изменениях - PullRequest
0 голосов
/ 05 ноября 2018

  ngonit()
{
this.timeout();
}
   //timer
 timer:any;
  time() {
  this.timer = setTimeout(() => {
       console.log(this.timer);
       this.openDialog();
  }, 10000)
  console.log(this.timer);
  }
  timeout() {
  
   document.addEventListener('keypress', () => {
      clearTimeout(this.timer);
      this.time();
    });
    document.addEventListener('click', () => {
      clearTimeout(this.timer);
      this.time();
    });
    document.addEventListener('mousemove', () => {
      clearTimeout(this.timer);
      this.time();
    })
 }

Если пользователь не имеет доступа к странице в течение 6 секунд, мы должны предупредить пользователя о выходе из системы. поэтому я хочу показать всплывающее сообщение (предупреждение), когда пользователь бездействует в течение 5 секунд, если условие, и еще, если мне нужно, чтобы показать еще одно всплывающее окно через 1 секунду, когда вы вышли из системы, если пользователь не имеет полного доступа к странице. нам нужно показать, что второе всплывающее сообщение для пользователя вышло из системы. приведенный ниже код, который я вернул для показа всплывающего окна, когда пользователь простаивает 5 секунд. Можете ли вы отредактировать это?

1 Ответ

0 голосов
/ 05 ноября 2018

для начала 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()

Но вы знаете, что почти невозможно прочитать сообщение о выходе из системы и сделать что-то менее чем за секунду, верно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...