MutationObserver не работает, если Tab оставлен (Firefox) - PullRequest
0 голосов
/ 10 января 2020

Я использую MutationObserver, чтобы реагировать на изменение стиля элемента. Он работает просто отлично, если активна вкладка, на которой он запущен. Однако если я переключаюсь на другую вкладку, она перестает работать. Когда я переключаюсь обратно на вкладку, MutationObserver реагирует так, как будто изменение стиля произошло только сейчас.

Я использую последнюю версию Firefox.

Это просто общее свойство MutationObservers или есть какой-то способ заставить его продолжать работать, когда вкладка оставлена?

Мой код:

let someelement;
let open = false;

let obs_style = new MutationObserver(function () {
    open = !open;
    if (open) {
        someelement.dispatchEvent(new MouseEvent("click"));
    }
});

let a = setInterval(function () {

    let someelementtwo = document.getElementsByTagName("sometag")[0];

    if (someelementtwo !== null) {

        let observeelement = someelementtwo.parentNode;
        someelement = someelementtwo.getElementsByTagName("sometagtwo")[0];
        someelementtwo = undefined;

        obs_style.observe(observeelement, { attributes: true, attributeFilter: ['style'] });

        clearInterval(a);
    }

}, 3000);
...