From 2399acaabd430c54a990704aff36ab1b86b41be3 Mon Sep 17 00:00:00 2001 From: Adrian Vollmer Date: Mon, 22 Apr 2024 20:28:06 +0200 Subject: [PATCH] Fix observation of mutated elements Needs to be installed after DOM loaded. --- zundler/assets/inject_post.js | 18 ------------------ zundler/assets/inject_pre.js | 22 ++++++++++++++++++++++ 2 files changed, 22 insertions(+), 18 deletions(-) diff --git a/zundler/assets/inject_post.js b/zundler/assets/inject_post.js index d543ba2..88bf09b 100644 --- a/zundler/assets/inject_post.js +++ b/zundler/assets/inject_post.js @@ -57,24 +57,6 @@ var onScrollToAnchor = function(argument) { } -const observer = new MutationObserver((mutationList) => { - // console.log("Fix mutated elements...", mutationList); - mutationList.forEach((mutation) => { - if (mutation.type == 'childList') { - Array.from(mutation.target.querySelectorAll("a")).forEach( a => { - fixLink(a); - }); - Array.from(mutation.target.querySelectorAll("img")).forEach( img => { - embedImg(img); - }); - Array.from(mutation.target.querySelectorAll("form")).forEach( form => { - fixForm(form); - }); - } - }); -}); - - var monkeyPatch = function() { if (typeof jQuery === 'undefined') {return;} // Only for jQuery at the moment /** diff --git a/zundler/assets/inject_pre.js b/zundler/assets/inject_pre.js index 43a2c5d..9dcbea2 100644 --- a/zundler/assets/inject_pre.js +++ b/zundler/assets/inject_pre.js @@ -108,3 +108,25 @@ window.fetch = async (...args) => { } return response; }; + + +const observer = new MutationObserver((mutationList) => { + console.log("Fix mutated elements...", mutationList); + mutationList.forEach((mutation) => { + if (mutation.type == 'childList') { + Array.from(mutation.target.querySelectorAll("a")).forEach( a => { + fixLink(a); + }); + Array.from(mutation.target.querySelectorAll("img")).forEach( img => { + embedImg(img); + }); + Array.from(mutation.target.querySelectorAll("form")).forEach( form => { + fixForm(form); + }); + } + }); +}); + +document.addEventListener('DOMContentLoaded', function (event) { + observer.observe(window.document.body, {subtree: true, childList: true}); +});