Anzeige - [Hier werben / Mediadaten]
(?) Tags raten (?) e-mail-crawlern, javascript, reihenfolge (edit)
 
Reply to this topicStart new topicStart Poll
> JavaScript: Code wird nicht ausgeführt?
Josh
Geschrieben am: Mi 9.08.2006, 20:17
Report PostQuote Post

AyomRank 9
Group Icon

Gruppe: Moderatoren
Beiträge: 2142
Mitglied seit: 19.10.2003


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


--------------------
Mein letztes Projekt: Atelier-Schmuck.ch

"Das habe ich nie getan und werden es auch nie wieder tun!" :lol:
Top
PMEmail PosterUsers WebsiteICQ
Top
 
 
jAuer
Jürgen Auer - freiberufl. Programmierer
#2 Geschrieben am: Mi 9.08.2006, 20:32 (+00:14)
Report PostQuote Post

AyomRank 9
Group Icon

Gruppe: Experten Entwicklung
Beiträge: 2401
Mitglied seit: 4.02.2006


Ja, das ist ein klitzekleines und bösartiges Problem:

Ergänze mal

CODE
var tag_to_hide = document.getElementById("email");
alert(tag_to_hide);
tag_to_hide.style.display = 'none';


Was siehst Du dann?

Da der Code (getElementById) mit SelfHtml-Beispielen übereinstimmt, kann das nicht sein - da es doch der Fall ist, dürfte die Lösung auch klar sein (Stichwort Reihenfolge der Codeausführung).


--------------------
Web-Anwendung 3.0: Ein Online-Kalender für Termine vieler Filialen.

server-daten - die Single-Data-Solution: Web-Datenbanken als Online - CRM - Lösung.
Ihre Geschäftsprozesse entscheiden, was Ihre Online-Datenbank macht. Sie konzentrieren sich auf Ihr Kerngeschäft - Ihre Datenbank funktioniert.
Top
PMEmail PosterUsers Website
Top
 
Alain_Aubert
#3 Geschrieben am: Mi 9.08.2006, 22:16 (+01:43)
Report PostQuote Post

Ayom Slave
Group Icon

Gruppe: Admin
Beiträge: 4821
Mitglied seit: 25.09.2003


QUOTE
(Stichwort Reihenfolge der Codeausführung).

Genau so ist. Denk sequenziell.

QUOTE
<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>

Es gibt kein Element mit id=email, weil das erst nach der Funktion kommt. Es muss heissen.

QUOTE
<span id="email">info[at]atelier-schmuck[dot]ch</span><script type="text/javascript"> write_email("info", "atelier-schmuck.ch", "_self", "www.atelier-schmuck.ch - Kontaktanfrage", "");</script>


Allerdings kann mein Email-Spam-Sammelbot das ohne Probleme verstehen ;-) /.*(@|\[at\]).*(\.|\[dot\]).*/ oder so was in der Art ;-)
Top
PMEmail PosterUsers Website
Top
 
Josh
#4 Geschrieben am: Mi 9.08.2006, 23:06 (+00:49)
Report PostQuote Post

AyomRank 9
Group Icon

Gruppe: Moderatoren
Beiträge: 2142
Mitglied seit: 19.10.2003


Herzlichen Dank für eure Hilfe! Und wieder was gelernt... wusste nicht, dass JavaScript sequentiell im HTML Code verarbeitet wird. tongue.gif

Grüsse,
Josh :-)


--------------------
Mein letztes Projekt: Atelier-Schmuck.ch

"Das habe ich nie getan und werden es auch nie wieder tun!" :lol:
Top
PMEmail PosterUsers WebsiteICQ
Top
 
Alain_Aubert
#5 Geschrieben am: Mi 9.08.2006, 23:11 (+00:05)
Report PostQuote Post

Ayom Slave
Group Icon

Gruppe: Admin
Beiträge: 4821
Mitglied seit: 25.09.2003


Schön ists, wenn man mit <body onload=''> etc. arbeitet. Verliert man auch nicht so schnell den Überblick.
Top
PMEmail PosterUsers Website
Top
 
Thema wird von 0 Benutzer(n) gelesen (0 Gäste und 0 anonyme Benutzer)
0 Mitglieder:
Trackback-Url: http://www.ayom.com/track/t/13288

Topic Options Reply to this topicStart new topicStart Poll

 


> Ähnliche Themen
Aus XING wird CROSS bendecho 176 1 Mi 19.11.2008, 18:40
Domainbewertungs-Homepage wird verkauft mister@ 193 1 So 16.11.2008, 15:33
Tradedoubler: Login nicht moeglich socio 174 9 Fr 14.11.2008, 11:24
Kunde zahlt nicht - was nun? H.Prohaska 186 10 Mi 12.11.2008, 11:28
wandfolie.de wird versteigert - sedo er-kuh-ix 70 0 Mi 12.11.2008, 00:55
Google SiteLinks - ich seh sie nicht Yel Nats 234 12 Mo 10.11.2008, 08:32
Google Cache kann nicht gefunden werden Eckerle 107 0 Sa 8.11.2008, 22:21
Zielgruppe versteht Webseite nicht Martin J 363 7 Mi 1.10.2008, 11:40




Anzeige - [Hier werben / Mediadaten]



Anzeigen


[Hier werben / Mediadaten]