Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Mój sposób a spamerów, proszę o opinię
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
crocodillo
Witam. Napisałem sobie funkcję, która dekoduje adresy email.

Przykład:

  1. <a href="unspamer:ailia@zkotax@zxpgik@magik"> </a>
  2.  
  3. zamieni na:
  4.  
  5. <a href="mailto:ala@ma.kota">ala@ma.kota</a>
  6.  
  7.  
  8. a to funkcja:
  9.  
  10. function unSpamer() {
  11.  
  12. if (!document) return false;
  13.  
  14. var a=document.getElementsByTagName('a');
  15. var t,m;
  16. var r=new RegExp();
  17.  
  18. for (var i=0;i<a.length;i++) {
  19.  
  20. if (a[i].getAttribute('href').substring(0,9).toLowerCase()!='unspamer:') continue;
  21.  
  22. t=a[i].getAttribute('href').substring(9);
  23. t=t.split('@');
  24. r.compile('['+t[2]+']','gi');
  25.  
  26. m=t[0].replace(r,'')+'@'+t[3].replace(r,'')+'.'+t[1].replace(r,'');
  27. t='lt';
  28. t='i'+t;
  29. a[i].innerHTML=m;
  30. a[i].setAttribute('href','ma'+t+'o:'+m);
  31. }
  32. return true;
  33. }


I teraz proszę o opinie: co sądzicie o takim rozwiązaniu i jakie widzicie wady zastosowania takiego sposobu?
kamil4u
Wada: brak JS = brak kontaktu

Dlaczego postanowiłeś napisać to samemu? Jest dużo już sprawdzonych możliwości ukrywania maila. Np.
Kod
var adres1 = 'ala';
var adres2 = 'ma';
var adres3 = 'kota';
document.getElementById('test').innerHTML = adres1+'@'+adres2+'.'+adres3;


W czym Twój sposób jest lepszy od tego powyżej? Zawsze mogę jeszcze jakieś udziwnienia dodać.
crocodillo
Cytat(kamil4u @ 8.08.2011, 22:58:10 ) *
W czym Twój sposób jest lepszy od tego powyżej? Zawsze mogę jeszcze jakieś udziwnienia dodać.

Wcale nie twierdzę, że mój sposób jest lepszy, a nawet wiem, że jest wiele sposobów lepszych od tego, po prostu jak sobie sam coś zrobię to mam większą frajdę smile.gif
acidm
http://jsfiddle.net/8mNs6/


mozna najpierw zakodowac adres po czym go wstawic ,rozwiazanie bedzie dzialac bez zalaczonego js ,ale nie wiem czy roboty ideksujace tego nie obejda :|

kamil4u
Cytat
Wcale nie twierdzę, że mój sposób jest lepszy, a nawet wiem, że jest wiele sposobów lepszych od tego, po prostu jak sobie sam coś zrobię to mam większą frajdę smile.gif

Też tak mam wink.gif Z tym, że dam Ci tak radę, żeby zawsze pisać jak najprościej, Ty zastosowałeś tu dużo przekształceń, moim zdaniem zbyt dużo. Lepiej napisać coś prostego a skutecznego... np:
  1. <a href="M:ala|ma|kota#kot|ma"

->
  1. <a href="mailto:ala.ma.kota@kot.ma"

Wszystko łatwo zapisane:
M: -> mailto:
| -> .
# -> @

Ale dobrze, że się bawisz - to najważniejsze smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.