Thomas Rauner: E-Mail-Verweise mit mailto und Seitentitel

Beitrag lesen

Hallo Gunnar,

Bitte keine Fullquotes.

Sorry, soll nicht wieder vorkommen.

document.write '<a href="mailto:user@domain.de?subject=E-Mail%20von%20Seite:%20' + encodeURI(document.title) + '">Hans Maier</a>';

In welchem Browser funktioniert das?
Sowohl IE 5.0 als auch Firefox funktioniert da gar nichts. Beide sagen, dass ein ';' fehlt. Was wirklich fehlt, sind die Klammern.

Du hast natürlich recht, das war eine elende Schlamperei von meiner Seite. Eine in IE 6.0.2900.2180.xpsp_sp2_gdr.050301-1519 (WXP SP2) ebenso wie in 6.0.2800.1106IS (W2k SP4) funktionierende Test-HTML-Datei ist folgende:

<HTML>
<HEAD>
<TITLE>
Das ist der Titel
</TITLE>
</HEAD>
<BODY>
<SCRIPT TYPE="text/javascript">
   document.write('<a href="mailto:user@domain.de?subject=E-Mail%20von%20Seite:%20' +
         encodeURI(document.title) + '">Hans Maier</a>');
</SCRIPT>
</BODY>
</HTML>

Ich hoffe, dass diese Korrektur auch unter Firefox / IE5.0 läuft, habe aber beide Browser nicht zur Verfügung (hätte mein Arbeitgeber wahrscheinlich auch was dagegen, wenn ich die Teile im Netzwerk installiere ...).

"encodeURI" stammt aus der Dokumentation "Microsoft Windows Script-Technologien" (script56.chm) und ist offenbar JScript-Code. Ich hatte versucht, so eine "MaskiereMirNichtLegaleZeichenInDerUriMitDenPassendenHexCodes"-Funktion selber zu schreiben, aber nachdem ich bislang nur Ahnung von VBScript habe, bin ich schon an der Primitivaufgabe gescheitert, die *.js-Datei in den Debugger zu bekommen. Nach langem Hin und Her habe ich's dann doch geschafft, und mir umständlich mit "ALERT" die einzelnen Variablen-Werte anzeigen lassen, aber irgendwie habe ich es wohl auch geschafft, eine Endlos-WHILE-Schleife hinzubasteln, so dass ich schließlich den IE abschießen musste.

Nachdem an meinem Arbeitsplatz ausschließlich IE (mit JScript) installiert ist, dürfte die oben gezeigte Methode jedoch für ihren Einsatzzweck genügen. Hat meine Programmierer-Phantasie mal wieder einen Dämpfer abbekommen ... ;-)

Sorry für die Verwirrung.

Thomas