Zum Inhalt springen

Javascript (document.write) bei onclick (mailto:-Link)


geloescht_JesterDay

Empfohlene Beiträge

Hallo,

ich hab folgendes Problem:

Auf einer Webseite ist ein Mailto:-Link. Beim Klicken dieses Links reagiert ja nur der Browser, ich bekomme (auf dem Server oder sonst wo) ja nichts davon mit (außer wenn die Mail ankommt). Ich will auf diesen Klick (also die Kontaktaufnahme) aber reagieren und dachte mir, das könnte ich ja über Javascript machen.

Dazu hab ich jetzt zentral eine Javascript-Datei eingebunden, in der eine Funktion steht. Diese Funktion ruf ich beim onclick des Links auf. Das funktioniert ja auch noch, aber:

Diese Funktion macht ein paar Ausgaben (document.writeln) und nach dem Klick auf den Link, öffnet der Browser ein neues Dokument, was eben nur diese Ausgaben der Funktion beinhaltet.

Eigentlich sollte das ja nur in das vorhandene Dokument geschrieben werden.

Grob gesagt sieht es so aus:


# Javascript include-Datei:

function funktionsName()

{

  document.writeln('irgendwas');

  ...

  return false;

}

# HTML:

...

<a href="mailto:..." onclick="funktionsName();">Linktext</a>

...

Ach ja, in der Javascript Ausgabe wird eine weitere Javascript-Code ausgegeben und eine weitere Javascriptdatei eingebunden, also ein <script ... src="..."></script> ausgegeben.

Das geht auch soweit und die Datei lädt er auch. Auch den "include" auskommentieren bringt nichts.

Hat einer ne Idee?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hmm ich has mir ein paar mal durchgelesen und bin mir nicht 100 sicher, aber eventuell könnte das die LÖsung sein:


<html>

<head>

	<title>Untitled</title>

<script>

function funktionsName(emailAdresse)

{

	alert("hey, ich hab was gemacht");

	self.location.href = 'mailto:' + emailAdresse;

	return false;

}

</script>

</head>


<body>

<a href="#" onclick="funktionsName('test@test.de');">Linktext</a>



</body>

</html>

Link zu diesem Kommentar
Auf anderen Seiten teilen



<script>

function funktionsName(emailAdresse)

{

	alert("hey, ich hab was gemacht");

	self.location.href = 'mailto:' + emailAdresse;

	return false;

}

</script>

Damit würde er doch auch das Dokument umleiten, oder nicht? Hab das noch nicht probiert, aber ... naja, werd ich nachher mal tun. Denke aber das löst mein Problem nicht wirklich, ich will ja nicht die location des Dokuments ändern. Ein Klick auf einen mailto:-Link macht ja im Browser was anderes...

Link zu diesem Kommentar
Auf anderen Seiten teilen

getestet IE 6 und FF

Also bei mir macht es keinen Unterschied.

Ein Alert funktioniert zwar, aber ich mache eben ein document.write.


<html>
<head>
<title>Untitled</title>
<script>
function funktionsName()
{
document.write('bla');
return false;
}
</script>
</head>

<body>
<a href="mailto:..." onclick="funktionsName();">Linktext</a>


</body>
</html>
[/php]

Geht z.B. nicht ;) (auch nicht mit der location.href Methode)

Werd es wohl über prototype machen (also DOM)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich hab gleube ich einfach nicht genau verstanden was Du genau vorhast.

z.b. geht ein


<html>

<head>

	<title>Untitled</title>

<script>

function funktionsName(emailAdresse)

{

	document.write('hallo');

	self.location.href = 'mailto:' + emailAdresse;

	return false;

}

</script>

</head>


<body>

<a href="#" onclick="funktionsName('test@test.de');">Linktext</a>



</body>

</html>

eigentlich schon, aber dann nur wenn nichts ausser dem <a></a> im dokument steht. wenn du den text an der <a></a> stelle replacen willst, und vorher und nachher im dokument noch was kommt, geht das natürlich so nicht.

vielleicht sagst noch kurz was genau du vorhast, vielleicht hab ich ja noch ne andere lösung.

ansonsten klar über dom

viele grüße

Link zu diesem Kommentar
Auf anderen Seiten teilen

vielleicht sagst noch kurz was genau du vorhast, vielleicht hab ich ja noch ne andere lösung.

Es soll einfach beim Klick auf den MailTo-Link weiteres Javascript ausgeführt werden. Da das alles über ein CMS geht, kann ich den Code nicht einfach in die Seite reinschreiben. außerdem soll es nur beim Klick auf den Mailto-Link geschehen. Eingebunden werden soll ein Google Converstion Tracking Script.

Bei uns wurde eine fremde Firma beauftragt, die das macht und unsere AsWords optimieren will/soll. Und die wollen das drinhaben um zu sehen, wer über die AdWords zu uns kam und dann Kontakt aufgenommen hat auch.

Ich darf das jetzt nur einbauen, irgendwie.

Aber Prototype und DOM geht auch nur halb, das externe Javascript wird nur halb eingebunden.

Ich schau jetzt mal direkt bei Google, ob die mehr/bessere Infos haben als ich per Mail bekommen hab.

Ansonsten hab ich noch die Idee Ajax von Hand (also ohne prototype) zu probieren (weil genau der <script>-Teil bei prototype fehlt) oder deine Version von oben nehmen mit einer "blinden" Seite, die den Google-code ausführt und dann die location ändert (mailto: aufruft).

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hab es jetzt ganz anders gemacht:

Beim onclick wird auf eine weitere Seite umgelenkt und die Seite beinhaltet den Google-Javascript-Code direkt (is komisch bei einem MailTo-Link, aber naja).

Über eine Ajax-Lösung ging es soweit auch, nur hat es da nicht gleich 100% geklappt und weil es so zu kompliziert wäre (waren nur 14 Zeilen code, PHP und Javascript zusammen), sollt ich das besser so machen. So geht es wenigstens und is einfach.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...