diff --git a/web/js/feed.js b/web/js/feed.js index aa25906..decfc02 100644 --- a/web/js/feed.js +++ b/web/js/feed.js @@ -15,10 +15,16 @@ const api = { }, }; +// Escaped für Text- UND Attributkontext. Der frühere textContent->innerHTML- +// Trick ließ Anführungszeichen stehen (in Textknoten harmlos); linkify steckt +// den Wert aber in ein href="..."-Attribut, wo ein " ausbrechen würde. function escapeHtml(s) { - const d = document.createElement("div"); - d.textContent = s ?? ""; - return d.innerHTML; + return String(s ?? "") + .replace(/&/g, "&") + .replace(//g, ">") + .replace(/"/g, """) + .replace(/'/g, "'"); } // avatarUrl liefert den Bildpfad oder das Platzhalterbild bei leerem Avatar.