This is an old revision of the document!


Spam-Schutz für E-Mail Adressen mit Javascript

Der HTML Code fürs Frontend

<a href="" data-mail-b64="aW5mb0A0c29mdC5kZQ==">Spam Protection</a>

Der Javascript code der alle HTML Blöcke manipuliert

(function(){
	/* Timeout, bis Mail Links gerendert werden */
	const timeout = 1500; /* in ms */
 
	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_b64_attr_name = 'data-mail-b64';
		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 );
	}
}())

Page Tools