====== Spam-Schutz für E-Mail Adressen mit Javascript ====== Dieser Javascript Code wird ausgeführt nach dem die Seite geladen wurde. Wartet 1,5 Sekunden und wandelt dann jeden HTML-Link in einen E-Mail-Adressen Link um. So fern dieser Link das Attribute ''data-mail-b64'' hat und eine Base65 enkodierte E-Mail-Adresse enthält. Ziel ist es, dass Spam-Bots, die nach E-Mail Adressen suchen, weder Javascript ausführen, noch 1,5 Sekunden auf einer Seite warten. **Der HTML Code fürs Frontend** Spam Protection **Der Javascript code der alle HTML Blöcke manipuliert** (function(){ /* Timeout, bis Mail Links gerendert werden */ const timeout = 1500; /* in ms */ const mail_b64_attr_name = 'data-mail-b64'; /* Attribut, das jeder E-Mail Link haben muss */ on_ready( wait_to_build_mail_links ); /* Timer ausführen, wenn Seite geladen ist */ function wait_to_build_mail_links(){ window.setTimeout( build_mail_links, timeout ); } /* Ändern der Links zu Mail-Links */ function build_mail_links(){ const mail_node_selector = 'a['+mail_b64_attr_name+']'; const mail_anchor_nodes = document.querySelectorAll(mail_node_selector); mail_anchor_nodes.forEach( ( a_node ) => { const mail_adress_encoded = a_node.getAttribute( mail_b64_attr_name ); const mail_adress_decoded = atob( mail_adress_encoded ); const mail_href = 'mailto:'+mail_adress_decoded; a_node.setAttribute( 'href', mail_href ); a_node.textContent = mail_adress_decoded; }) } function on_ready( callback ) { // Falls die Seite bereits geladen ist if ( document.readyState!='loading' ) callback(); // Falls die Seite noch lädt else document.addEventListener( 'DOMContentLoaded', callback ); } }()) ====== Alternative Version ====== Mit diesem Code-Schnipsel wird kein -Tag benötigt. es wird hinter dem Script einfach neu eingefügt. Der Code ist ein bisschen kürzer, dafür nicht ganz so breit anwendbar, da immer ein komplettes Script platziert werden müsste.