Moin!
Danke schonmal für die "zweite Meinung".
Wie erwähnt: Im Mozilla funktioniert das alles bestens - was mich irgendwie wundert, aber offenbar hat Mozilla diese specified-Eigenschaft übernommen und im Gegensatz zum IE korrekt umgesetzt.
ich habe im Mozilla DOM-Inspector keine Eigenschaft "specified" gefunden, er kennt sie offenbar nicht!
Irgendwer oder irgendwas liefert aber in node.attributes[i].specified auch im Mozilla true zurück. Der JS-Code setzt diese Eigenschaft jedenfalls nicht, es gibt nur zwei Stellen in der Funktion, an der auf diese Eigenschaft lesend zugegriffen wird.
Dass diese Eigenschaft in mehr als nur dem IE existiert, scheint http://www.quirksmode.org/dom/w3c_core.html zu bestätigen. Und die Testseite http://www.quirksmode.org/dom/tests/attributes.html# hat oben zwei Testelemente und ganz unten zwei Testlinks. Der zweite (mit Zahlenindex) funktioniert bei mir im Opera 7.5 und gibt true zurück, der erste funktioniert dort nicht.
Wenn ich den JS-Code richtig verstehe wird ja gerade an dieser Stelle verzweigt, um die ungesetzten Attribute im IE zu entfernen. Du solltest den Fehler also eher in der Funktion tinyMCE._cleanupAttribute(elementValidAttribs, elementName, node.attributes[i], node) suchen.
Diese Funktion wird sowohl vom IE als auch vom Mozilla durchlaufen, bei beiden ist die Eigenschaft "specified" bei manchen Attributen "true" - beim IE nur bei zu wenig Attributen.
Hier gibts noch ein paar nützliche Infos:
http://devedge.netscape.com/library/manuals/2000/javascript/1.5/guide/obj2.html#1008342
Danke - aber ich habe ein Problem mit dem IE. Vielleicht fällt dir oder jemand anderem ja noch was Schlaues zu dem Problem ein.
- Sven Rautenberg