From eff616b2dcff850244bbee2a031ff15ee06bda09 Mon Sep 17 00:00:00 2001 From: indigoxela Date: Tue, 16 Jul 2024 17:34:00 +0200 Subject: [PATCH] Maybe that works now --- js/plugins/backdropimage/plugin.js | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/js/plugins/backdropimage/plugin.js b/js/plugins/backdropimage/plugin.js index c89c1a4..dc53bc2 100644 --- a/js/plugins/backdropimage/plugin.js +++ b/js/plugins/backdropimage/plugin.js @@ -205,17 +205,10 @@ } else { let parent = document.createElement(node.name); + let lastChild = node.lastChild; while (node = node.walk()) { - if (node.name === 'p') { - // Unclear where these "p" come from. - continue; - } - if (node.name === 'br' && !node.parent) { - // Another riddle - only if there's more than one "br" in a - // figcaption, odd things happen. - // @todo - continue; - } + // Caution, walk() does not only walk over this node, so we have to + // stop ourselves. if (node.name === '#text') { if (node.parent.name === parent.nodeName.toLowerCase()) { parent.append(document.createTextNode(node.value)); @@ -235,6 +228,10 @@ } parent.append(nestedElm); } + if (node === lastChild) { + // Stop before leaving figcaption. + break; + } } dummy.append(parent); }