Egyszerű e-mail védelem JavaScripttel (JQuery vagy egyéb Javascript Library nélkül)

Egyszerű e-mail védelem JavaScripttel (JQuery vagy egyéb Javascript Library nélkül)

Az e-mail címek hivatkozásában az @ jelet '-kukac-'-ként kell írni: href="mailto:info-kukac-example.com", ekkor tudja a JavaScript függvény visszacserélni kattintásra. Célszerű az e-mail cím azt a részét is védeni (itt sem írjuk ki az '@' jelet, amit az e-mail címgyűjtő robotok szeretnek), ami megjelenik a böngészőben, de ezt már bárhogy megtehetjük: info[kukac]example.com vagy example[at]example.com

Példa

<a href="mailto:info-kukac-example.com" class="e-mail">info[kukac]example.com</a>

  1. info-kukac-example.com - -kukac- az '@' helyett
  2. class="e-mail" - e-mail class a linkben
  3. support[kukac]example.com - nem írunk ki '@' jelet
// Az e-mail osztályok összegyűjtése (class="e-mail")
function getElementsByClass(name) {  
   var found = 0;  
   var elems = new Array();  
   var alltags = document.getElementsByTagName("*");  
   if (alltags) {  
     for (i=0; i < alltags.length; i++) {  
         if (alltags[i].className==name) {  
           elems[found++]=alltags[i];  
         }  
     }  
   }  
   return(elems);  
 }
// Esemény kezelése 
// Ez a függvény egy adott böngésző objektum egy adott eseményéhez csatol hozzá egy adott //függvényt, melyeket paraméteréül kap.
function addEvent(obj, evType, fn) {  
   if (obj.addEventListener) {  
     obj.addEventListener(evType, fn, true);  
     return true;  
   } else if (obj.attachEvent) {  
     var r = obj.attachEvent("on"+evType, fn);  
     return r;  
   } else {  
     return false;  
   }  
 }
// Kívánt viselkedés beállítása az 'e-mail' osztályba tartozó "a" elemeknél, klikk eseményre

function emails() {  
   var elems=getElementsByClass('e-mail');  
   for(i=0; i< elems.length; i++) 
{  
     if (elems[i].href && elems[i].href!="") {  
       addEvent(elems[i],'click',email);  
     }  
   }  
 } 
// E-mail címek átalakítása
function email(ev) {  
   // vagy megkapjuk az esemény objektumot, vagy meg kell szereznünk  
   ev || (ev = window.event);  
   // mely objektum váltotta ki az eseményt?  
   var source;  
   if (typeof ev.target != 'undefined') {  
     source = ev.target;  
   } else if (typeof ev.srcElement != 'undefined') {  
     source = ev.srcElement;  
   } else { return(true); }  
   // '-kukac-' érték lecserélése, ha a felhasználó az e-mail linkre kattint '@'-ra
   	var m = source.href, mm;
	mm = (m.replace(/-kukac-/, "@"));
	source.href = mm;
   
 } 
// Az oldal betöltődése után elindítjuk az 'emails' függvényt
addEvent(window, 'load', emails);  

HTML:

info[kukac]example.com
A kódírás alapja: http://weblabor.hu/cikkek/diszkretjavascript
CsatolmányMéret
Egyszerű e-mail védelem JavaScripttel - letölthető példa fájl4.75 KB

Visszakövetés (trackback URL):

http://ventosa.hu/trackback/255
Átlagérték: 5 (1 szavazat)

A Ventosa kreatív stúdió, weboldalkészítéssel (designtól a programozásig) és grafikai tervezéssel (logótól a céges arculatig) foglalkozik.

Nézze meg portfóliónkat, elképzeléseinket a weboldalkészítésről, egy logó, arculat megjelenéséről!

On-line üzenetküldéshez kattintson ide!

  • www.ventosa.hu
  • info@ventosa.hu