Задать вопрос
mirniycruxix
@mirniycruxix

Как узнать частоту изменений Mutation Observer?

Есть такой код:
function checkingReading() {
    chatbox.addEventListener('DOMSubtreeModified', (e) => {
        userActive = true;

            function handleVisibilityChange() {
                if (document.visibilityState === "hidden") {
                    userActive = false;
                } else { userActive = true; }
            }
              
            document.addEventListener("visibilitychange", handleVisibilityChange, false);

            let parent = document.querySelector('#boxActive');
            let classOfElement = parent.lastElementChild.className;

            if (classOfElement == "msg ") {
                if (userActive == true) {
			        $.ajax({
				         type: 'POST',
				         url: '/true.php',
				         data: { 'statusActive': true }
			        });
           }
        }
    })
}

Как отследить частоту его срабатывания, то есть как узнать сколько раз в секунду изменяется элемент?
  • Вопрос задан
  • 62 просмотра
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
RAX7
@RAX7
У объекта события есть свойство timeStamp, зная значения предыдущего и текущего timeStamp можно посчитать частоту срабатывания события.
function checkingReading() {
  let prevTimeStamp = performance.now();
  chatbox.addEventListener("DOMSubtreeModified", (e) => {
    const dt = e.timeStamp - prevTimeStamp;
    prevTimeStamp = e.timeStamp;
    
    const changesPerSecond = 1000 / dt;
    console.log(changesPerSecond)
  });
}

P.S. возможно тебе нужен debounce чтобы не слишком часто слать запросы
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы