jQuery: proteggere i link mailto

I link con il protocollo mailto possono a ragione essere considerati come una porta spalancata allo spam. Tuttavia possiamo nasconderne il contenuto utilizzando jQuery. Vediamo come.

Nella marcatura eliminiamo completamente l'URL con mailto e sostituiamo il carattere @ con un segnaposto:


<a href="#" class="email">nome[at]dominio.ext</a>

Quindi ripristiniamo il corretto funzionamento di questi link con jQuery:


var makeEmails = function() {

		if($('a.email').length) {
    	
    		$('a.email').each(function() {
    		
    			var $a = $(this);
    			var text = $a.text();
    			var mailto = 'mailto:' + text.replace('[at]', '@');
    			
    			$a.attr('href', mailto);
    			$a.text(text.replace('[at]', '@'));
    		
    		});
    	
    	}


};

Questa soluzione presenta degli ovvi problemi di accessibilità, quindi utilizzatela solo se non avete alternative lato server.

Torna su