Озадачен этой проблемой. Я пытаюсь выполнить этот простой 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();