Josh
Legendäres Mitglied
Hallo alle
Nun, ich programmiere zwar seit Jahren Webs, aber mit JavaScript habe ich mich bisher noch kaum befasst.
Nun will ich eine kleine Funktion schreiben, welche E-Mail Adressen vor E-Mail-Crawlern schützen soll. So sieht das in etwa aus:
CODE <script type="text/javascript"> write_email("info", "atelier-schmuck.ch", "_self", "www.atelier-schmuck.ch - Kontaktanfrage", "");</script><span id="email">info[at]atelier-schmuck[dot]ch</span>
Die Theorie ist einfach: Hat der Benutzer JS aktiviert, schreibt die Funktion einen mailto-Link mit den gemachten Angaben in das Dokument und stellt dann das CSS display Attribut von #email auf hidden.
Hat der Benutzer JS nicht aktiviert, so wird auch kein Code ausgeführt; dafür wird aber der Inhalt von #email angezeigt.
Der JavaScript Code existiert soweit:
CODE function write_email(name, domain, label, subject, body) {
if(label == "_self") { // wenn label = _self, dann gib email-adresse als label aus.
document.write("<a href=\"mailto:" + name + "@" + domain + "?subject=" + subject + "&body=" + body + "\">" + name + "@" + domain + "</a>");
} else { // gib label selber aus.
document.write("<a href=\"mailto:" + name + "@" + domain + "?subject=" + subject + "&body=" + body + "\">" + label + "</a>");
}
var tag_to_hide = document.getElementById("email");
tag_to_hide.style.display = 'none';
}
Soweit, so gut: der mailto-Link wird wunschgemäss ins Dokument eingefügt; allerdings wird das #email tag nicht entfernt.
Leider habe ich keine Ahnung, wieso das nicht funktioniert. Ich wäre sehr dankbar für Hilfe. Auch dürft ihr mich sehr gerne auf Unschönheiten im Code aufmerksam machen...
Herzlichen Dank und gute Nacht,
Josh
Nun, ich programmiere zwar seit Jahren Webs, aber mit JavaScript habe ich mich bisher noch kaum befasst.
Nun will ich eine kleine Funktion schreiben, welche E-Mail Adressen vor E-Mail-Crawlern schützen soll. So sieht das in etwa aus:
CODE <script type="text/javascript"> write_email("info", "atelier-schmuck.ch", "_self", "www.atelier-schmuck.ch - Kontaktanfrage", "");</script><span id="email">info[at]atelier-schmuck[dot]ch</span>
Die Theorie ist einfach: Hat der Benutzer JS aktiviert, schreibt die Funktion einen mailto-Link mit den gemachten Angaben in das Dokument und stellt dann das CSS display Attribut von #email auf hidden.
Hat der Benutzer JS nicht aktiviert, so wird auch kein Code ausgeführt; dafür wird aber der Inhalt von #email angezeigt.
Der JavaScript Code existiert soweit:
CODE function write_email(name, domain, label, subject, body) {
if(label == "_self") { // wenn label = _self, dann gib email-adresse als label aus.
document.write("<a href=\"mailto:" + name + "@" + domain + "?subject=" + subject + "&body=" + body + "\">" + name + "@" + domain + "</a>");
} else { // gib label selber aus.
document.write("<a href=\"mailto:" + name + "@" + domain + "?subject=" + subject + "&body=" + body + "\">" + label + "</a>");
}
var tag_to_hide = document.getElementById("email");
tag_to_hide.style.display = 'none';
}
Soweit, so gut: der mailto-Link wird wunschgemäss ins Dokument eingefügt; allerdings wird das #email tag nicht entfernt.
Leider habe ich keine Ahnung, wieso das nicht funktioniert. Ich wäre sehr dankbar für Hilfe. Auch dürft ihr mich sehr gerne auf Unschönheiten im Code aufmerksam machen...
Herzlichen Dank und gute Nacht,
Josh