Forum Doku Wiki Blog

Forumsarchiv 2010, Juli
MSIE kopiert bei a den title Inhalt irrtümlich in textnode

archivierte Beiträge lesen

  1. (JAVASCRIPT) MSIE kopiert bei a den title Inhalt irrtümlich in textnode von Beat, 03. 07. 2010, 11:36

MSIE kopiert bei a den title Inhalt irrtümlich in textnode

Der folgende Beitrag wurde am 03. 07. 2010, 11:36 Uhr von Beat veröffentlicht.

Die folgende Funktion läuft tadellos im Firefox.

MSIE aber ersetzt falsch.

Der Inhalt von href ist ein mailto-link der Form:

<a onmouseover="mailto(this)" title="someone[at]example.org?subject=Anmeldung für Wanderung am 2010-08-15 &amp;body=Ich möchte eine Anmeldung tätigen für:%0ADatum:        2010-08-15%0A   ...   %0A">webmaster2008[at]elcappuccino.ch</a><br>

function mailto(el){
    el.innerHTML = el.innerHTML.replace(/\[at\]/i,'@');
    el.title = el.title.replace(/\[at\]/i,'@');
    el.href= "mailto:" + el.title;
}

MSIE 8 macht aber den Fehler, dass es den Inhalt von title auf innerHTML kopiert. Dadurch erscheint der mailto:?anhang im Label des Links.

Es ist, als ob MSIE 8 folgenden Code ausführt:

function mailto(el){
    el.innerHTML = el.innerHTML.replace(/\[at\]/i,'@');
    el.title = el.title.replace(/\[at\]/i,'@');
    el.href= "mailto:" + el.title;
    el.innerHTML = el.title; // <---
}

Der Fehler verschwindet auch dann nicht wenn ich die Zeile
    el.href= "mailto:" + el.title;
durch
    el.href= "mailto:" + encodeURI(el.title);
ersetze.

Wodurch ist das bedingt?
Was kann ich tun?

mfg Beat
--
><o(((°>           ><o(((°>
   <°)))o><                     ><o(((°>o
Der Valigator leibt diese Fische

MSIE kopiert bei a den title Inhalt irrtümlich in textnode

Der folgende Beitrag wurde am 03. 07. 2010, 18:34 Uhr von hotti veröffentlicht.

hi,

> Was kann ich tun?

die Komponenten des URI einzeln encoden mit encodeURIComponent() und den URI RFC gerecht (lückenlos%20) zusammensetzen.

Ungetestet,
Hottüüüü

© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4