Avatar billede theselfimages Nybegynder
13. november 2006 - 13:20 Der er 8 kommentarer og
1 løsning

Email adresse beskytter

Er der nogen der kan hjælpe med følgene:

Et script der automatisk ændre email adresser skrevet som "navn#domain.dk" til "navn@domain.dk" ved at alle links løbes igennem som indeholder "mailto:" og "#" som værdi i "href" og erstattes.
Avatar billede olebole Juniormester
13. november 2006 - 13:36 #1
<ole>

Det kunne måske være noget à la:

window.onload = function() {
    var aA = document.getElementsByTagname("a");
    for (i=0,j=aA.length; i<j; i++) {
      if (aA[i].href.indexOf("mailto:")!=-1) aA[i].href = aA[i].href.replace("#", "@");
    }
}

/mvh
</bole>
Avatar billede theselfimages Nybegynder
13. november 2006 - 15:03 #2
Kunne man egentlig lave det omvendt? Så alle normalt skrevet email adresser "navn@domain.dk" ændres til at se således ud "navn#domain.dk" for f.eks. Google eller andre indekseringsrobotter? Problemet er at offentligt tilgængelige email adresser på et site fører til meget SPAM.
Avatar billede olebole Juniormester
13. november 2006 - 15:19 #3
Det kan du af gode grunde ikke lade sig gøre med frontend-teknologi. Så må du tage et serversprog til hjælp  :)
Avatar billede theselfimages Nybegynder
13. november 2006 - 19:33 #4
Er lidt interesseret i at prøve noget andet, men mangler lidt hjælp til at lave et tjek for nedenstående script om <div> eksisterer, eller sker der fejl på de sider hvor en <div id="email"> ikke er indsat. Hvis man ønsker at script skal kunne håndterer mere end én email adr., skal det så udbygges med noget array? Og hvordan gøres det bedst muligt?

var emailAddress = "navn" + "@" + "domain" + "." + "dk";
function insertEmailAddress()
{
  var div = document.all ? document.all["email"] : document.getElementById("email");
  var a = document.createElement("a");
  a.href = "mailto:" + emailAddress;
  a.appendChild(document.createTextNode(emailAddress));
  div.appendChild(a);
}
Avatar billede olebole Juniormester
14. november 2006 - 09:26 #5
Jeg forstår ikke helt, hvad du vil - og hvordan  :)
Avatar billede theselfimages Nybegynder
14. november 2006 - 09:50 #6
Ovenstående script "srambler" emailadr. så den ikke er synlig for en browser. Med <div id="email"></div> indsættes emailen på en side, men der mangler et tjekt for om dette <div> eksisterer. Som det er nu laver den fejl på de sider, hvor det ikke eksisterer. Den anden ting var, at jeg gerne vil kunne sætte flere email adresser rundt om på et site. Altså en <div id="email2"> etc.. men så skal scriptet vist modificeres lidt med noget array?
Avatar billede olebole Juniormester
14. november 2006 - 09:55 #7
Jamen, vil du stadig have adresserne opdelt à la:
    var emailAddress = "navn" + "@" + "domain" + "." + "dk";

- og hvorfor?
Avatar billede theselfimages Nybegynder
14. november 2006 - 09:59 #8
Hvorfor ikke? Jeg ønsker en måde hvorpå man enten kan skrive navn@domain.dk som så blir scramblet automatisk. Det lød ikke til man kunne det uden noget serverside teknik. Alternativet må være at samle en eller flere emails i et array script - og sætte dem rundt om på et site med f.eks. <div id="email">, <div id="email2">, etc.

Det kan sikkert laves meget smartere end jeg skitserer her.
Avatar billede theselfimages Nybegynder
18. april 2008 - 19:02 #9
Lukkes...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester