Почему обозревателя мутаций не работает для некоторых страниц после полной загрузки страницы - Расширение Chrome

Озадачен этой проблемой. Я пытаюсь выполнить этот простой code, который просто проверяет изменения атрибутов в моем конкретном созданном элементе. Он отлично работает, когда страница находится в состоянии загрузки, но как только я перезагружаю страницу и жду, пока она полностью загрузится, то неважно, какой фрагмент нового codeа я пробую, он просто не работает. Я также понял, что он отлично работает для многих других сайтов, но не для этого конкретного сайта.

Для контекста, этот конкретный сайт является поставщиком медицинских услуг, он, вероятно, использует Angular и использует концепции состояния, такие как history.pushState и т. д., без перезагрузки страницы.

function initiateObserverListener() { 
const dataHolder = document.createElement("div"); 
dataHolder.setAttribute("id", "extension-dataHolder"); 
document.body.appendChild(dataHolder);

// Create and set up the observer
const observer = new MutationObserver(function (mutations) {
    console.log("Here");
    mutations.forEach(function (mutation) {
        console.log("Mutation executed: ", mutation.type);
        if (mutation.type === "attributes" && mutation.attributeName === "base64data") {
            console.log("in mutation");
            console.log(mutation.target.getAttribute("base64data"));
        }
    });
});

observer.observe(document.documentElement, {
    attributes: true,
    childList:true,
});

dataHolder.setAttribute("base64data", "exampleBase64Data");
initiateObserverListener();
Архип
Вопрос задан10 мая 2024 г.

1 Ответ

2
Савватий
Ответ получен8 сентября 2024 г.

Ваш ответ

Загрузить файл.