MutationObserver не работает, когда я нахожусь на другой вкладке Chrome [closed]Javascript

Форум по Javascript
Ответить
Anonymous
 MutationObserver не работает, когда я нахожусь на другой вкладке Chrome [closed]

Сообщение Anonymous »

Наблюдатель работает, когда я нахожусь на вкладке Chrome, где используется MutationObserver. Я получаю сообщения, когда происходят изменения, но когда я нахожусь на другой вкладке или в другом окне, ничего не происходит, пока я не вернусь на вкладку, где использую MutationObserver.
Например, предположим, что я использую stackoverflow.com на вкладке, где наблюдаю за мутациями. Всё в порядке, я вижу изменения. Затем я оставляю вкладку открытой и переключаюсь на другую вкладку. Мутации перестают работать, как будто DOM не обновляется, пока я не вернусь на предыдущую вкладку.
На сайте идёт обратный отсчёт таймера. Я слежу за этим таймером. Через минуту обновляю страницу. Но когда вкладка неактивна, скрипт перестаёт следить!
вот часть кода:
window.alert = function ( text ) { console.log( 'tried to alert: ' + text ); return true; };
const $span = document.getElementById("countdown");
const options = { subtree: true, childList: true };
const observer = new MutationObserver((mutationsList, observer) => {
for (let mutation of mutationsList){
if (mutation.type === 'childList') {
if ($span.textContent.split(":")[2]=="00") {
document.querySelector("#dashboard-sidebar > nav > ul > li.nav-item.active > a").click();
console.log('%c '+$span.textContent, 'color:red');
}
}
}
});

if($span)observer.observe($span, options);
console.log(new Date().toLocaleTimeString());


setInterval, который следит за тем же таймером, работает исправно, но через некоторое время засыпает
setInterval(() => {
console.log('%c '+$span.textContent, 'color:red');
}, 60 * 1000); // 5 minutes (5 * 60 seconds * 1000 ms)



Подробнее здесь: https://stackoverflow.com/questions/796 ... %b5-chrome
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»