HTML mit Javascript verbinden

ronaldo84

Erfahrenes Mitglied
Hallo.

Hoffe ich bin hier richtig. Ich habe ein Funktion die emailadressen veschlüsselt.
Die ist ganz einfach und verschiebt einfach nur die Ascii Zeichen um 3 stellen:
Code:
function key(s) { //
var n=0;
var r="";
for(var i=0; i < s.length; i++) {
x=s.charCodeAt(i);
if (x>=8364) {x = 128;}
r += String.fromCharCode(x-(3));
}
return r;
}
function linkTo_key(s) { //
location.href=key(s);
}

Die Email wird dann so aufgerufen:
Code:
<a href="javascript:linkTo_key('pdlowr=assdasde');">
Nun möchte ich aber der Email einen vorgefertigen Betreff und Body zuteilen. Diese müssen aber nicht verschlüsselt werden.
Normalerweise würde ich das so machen
Code:
mailto:bla@bla.de?subject=Hallo&body=Hallo
Aber So klappt das oben nicht. Kann ich das irgendwie verbinden oder musse ich alles verschlüsseln?
Schonmall vielen Dank.
 
Hi,

nur eine kleine Anmerkung am Rande (ich bin nicht gerade der große JavaScript Spezialist): Diese Art von Verschlüsselung ist zumindest im Impressum nicht erlaubt. Es gibt da so gewisse Anwälte, die warten nur drauf, daß Du sowas machst.

Sollte es sich bei dieser e-mail also um Deine eigene aus dem Impressum handeln, dann laß es lieber.
 
so müsste es gehen:
Code:
function linkTo_key(s) { //
var teile = s.split("?");
location.href=key(teile[0]).teile[1];
}
ich denke mal du machst das um die emailadresse nicht offen im quelltext stehen zu haben um spam-missbrauch vorzubeugen. dann ist das in ordnung.
im impressum kannste sie dann ja offen hinschreiben wenn inspector recht hat.
 
Keine Angst. Ist nicht für das Impressum. Ist wie gesagt zum Schutz vor Spam.
Bin leider nicht so der JavaScript Spezie. Wie müsste dann der Aufruf aussehen?
 
Code:
<a href="javascript:linkTo_key('verschluesselte_email_adresse?subject=hallo&body=hallo');">
allerdings darf dann im subject oder im body kein fragezeichen mehr vorkommen, da sonst nur der teil bis zum ersten fragezeichen in teile[1] drin ist. wenn du doch fragezeichen verwenden willst müsstest du die einzelnen teile dann durch ne for-schleife dranhängen.

oh... es muss allerdings so heißen:
Code:
function linkTo_key(s) { //
var teile = s.split("?");
location.href=key(teile[0])."?".teile[1];
}
da durch das splitten das fragezeichen weg ist.
 
Sorry, das Thema ist doch noch nicht erledigt.

Erstmal als Anmerkung falls jemand eventuell auch mal vor dem Problem steht. So:
Code:
location.href=key(teile[0])."?".teile[1];
funktioniert es nicht.
Es muss so lauten
Code:
location.href=key(teile[0])+"?"+teile[1];
.
Aber trotzdem vielen dank an DeeJTwoK. Sonst wäre ich wahrscheinlich in 20 Jahren nicht auf die Lösung gekommen.
Nun zu meinen anderem Problem:
Ich habe also die Emailadresse verschlüsselt und einen Betreff und body angefügt. Wenn ich im Body eine Zeile ohne Zeilenumbruch mache klappt es, sobald ich aber einen Zeileneinbruch mit
Code:
%0A
einfüge kommt der Fehler: Nich abgeschlossen Zeichenfolgekonstante. Wie kann ich das umgehen?

Danke
 
Hi,

wenn es außerhalb vom Impressum ist und nicht Deine eigene e-mail Adresse ist, dann sollte das rechtlich in Ordnung sein. Eventuell bekommst Du dann allerdings Probleme, wenn Irgendjemand im Forum was postet, das gegen Gesetze verstößt. Gut, in dem Fall bekommst Du sowieso Probleme, aber es ist dann noch schwieriger für Dich, da rauszukommen, da Du ja durch die Verschlüsselung den Urheber schützt. Du mußt also Dein Forum gut überwachen.
 
@ronaldo84: Sorry wegen . und + Hab in php gedacht...

@Inspector: Er verschlüsselt die e-Mail doch bloß im Quelltext. Wenn man auf den Link klickt, sieht man die Adresse doch entschlüsselt. Also schützen tut er die User doch nicht wirklich damit, oder?
 
Kein Problem. Wie gesagt ohne deinen Vorschlag mit dem split wäre ich nie darauf gekommen.

Sobald man auf den Link klickt ist es als ob man eine "normale Email" versendet. Die Emailadressen sollen nur vor den Spambots geschützt werden.

Back to topic
Weiß jemadn bei meinen 2. Problem rat?
 
Versuchs mal so:
Code:
function linkTo_key(s) { //
var teile = s.split("?");
teile[1] = teile[1].replace("..","%0A");
location.href="mailto:"+key(teile[0])+"?"+teile[1];
}
Beim Aufrufen muss es dann lauten:
Code:
<a href=javascript:linkTo_key("verschluesselte_emailadresse?subject=betreff&body=zeile1..zeile2")>Link</a>
Kannst natürlich auch die beiden Punkte durch Platzhalter deiner Wahl ersetzen.
 

Neue Beiträge

Zurück