function escapeHtml(unsafe) { return unsafe .replace(/&/g, "&") .replace(//g, ">") .replace(/"/g, """) .replace(/'/g, "'"); } document.getElementById("load-comment").addEventListener("click", function() { document.getElementById("load-comment").innerHTML = "Loading..."; fetch('https:///api/v1/statuses//context') .then(function(response) { return response.json(); }) .then(function(data) { if(data['descendants'] && Array.isArray(data['descendants']) && data['descendants'].length > 0) { document.getElementById('mastodon-comments-list').innerHTML = ""; data['descendants'].forEach(function(reply) { reply.account.display_name = escapeHtml(reply.account.display_name); reply.account.emojis.forEach(emoji => { reply.account.display_name = reply.account.display_name.replace(`:${emoji.shortcode}:`, `Emoji ${emoji.shortcode}`); }); mastodonComment = ``; document.getElementById('mastodon-comments-list').appendChild(DOMPurify.sanitize(mastodonComment, {'RETURN_DOM_FRAGMENT': true})); }); } else { document.getElementById('mastodon-comments-list').innerHTML = "

Not comments found

"; } }); });