From 3f97b892fc8382aa2cd5db764d27b0ebcc944ae0 Mon Sep 17 00:00:00 2001 From: Sebastian McKenzie Date: Fri, 31 Jul 2020 13:14:41 +0200 Subject: [PATCH] userscript.cf_email_decoder.js --- tool/userscript.cf_email_decoder.js | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/tool/userscript.cf_email_decoder.js b/tool/userscript.cf_email_decoder.js index eaf7b13a0..b4678b83e 100644 --- a/tool/userscript.cf_email_decoder.js +++ b/tool/userscript.cf_email_decoder.js @@ -3,7 +3,7 @@ // @namespace https://codeberg.org/smege1001/cf_email_decoder // @match *://*/* // @grant none -// @version 1.0 +// @version 1.1 // @author smege1001 // ==/UserScript== @@ -35,14 +35,26 @@ for (var linksIndex = 0; linksIndex < links.length; linksIndex++) { var link = links[linksIndex]; if (emailprotectionURLHashRegex.test(link.href)) { var hash = link.href.match(emailprotectionURLHashRegex)[1]; - link.href = "mailto:" + decodeEmail(hash); //replace the stupid email protection with just a mailto link + var decodedEmail = decodeEmail(hash); + + link.href = "mailto:" + decodedEmail; //replace the stupid email protection with just a mailto link + + if (link.getElementsByClassName("__cf_email__")) { + var linkChild = link.getElementsByClassName("__cf_email__")[0]; + linkChild.innerText = decodedEmail; + + linkChild.removeAttribute("data-cfemail"); + linkChild.classList.remove("__cf_email__"); + + if (linkChild.getAttribute("class") == "") linkChild.removeAttribute("class"); + } } else if (emailprotectionURLNoHashRegex.test(link.href) && link.hasAttribute("data-cfemail")) { var hash = link.getAttribute("data-cfemail"); var decodedEmail = decodeEmail(hash); link.href = "mailto:" + decodedEmail; link.innerText = decodedEmail; //the inner text is just [email protected] - + //remove the useless attributes link.removeAttribute("data-cfemail"); link.classList.remove("__cf_email__");