Siramon: Style mit Javascript auslesen

Beitrag lesen

Hallo Forum,

Ich möchte mit JavaScript einen zuvor gesetzten Style innerhalb eines SVG-Dokuments auslesen. Der Style wurde _nicht_ inline gesetzt (also nicht Attribut: style=""), sondern es wurde eine Klasse definiert (innerhalb von <defs><style></style></defs>) im gleichen Dokument. Die netten (TM) Browser bieten dafür die Funktion getComputedStyle - so weit so gut. Das böse (TM) Plugin von Adobe bietet diese Funktion leider nicht. Gibt es auch für das böse (TM) Plugin von Adobe eine Möglichkeit, diesen Wert auszulesen?

Noch ein wenig Background: Es geht darum bei einem allfälligen Zoomen, die Konturen von Elementen gleich "dick" zu belassen (Deklaration: stroke-width). Dazu werden solche Elemente mit der Klasse "preserve-stroke" versehen und das wird dann unobstrusiv bei einem Zoom wieder korrigiert.

Ausprobiert habe ich schon vieles. Über fertige APIs wie z.B. Prototype, MochiKit etc. bis zu SVGWeb u.ä. Die einen lassen sich nicht ein SVG Dokument einbinden, die anderen sind dafür da on-the-fly ein SVG-Dokument zu erstellen (im DOM) und bieten alternative Renderer (Flash, VML etc.) an. Beides leider für meine Zwecke nicht wirklich hilfreich, da das SVG-Dokument schon besteht.

Ich bin selbst schon so weit gekommen, dass ich zwar über DOM Zugriff auf die StyleSheet deklarationen habe: z.B. in der Form *.preserve-stroke{stroke-width:40px}, damit das aber so funktioniert müsste ich einen Parser schreiben, der die ganze Cascade beachtet (weiter unten könnte ja noch ein rect.preserve-stroke kommen mit einer überschreibenden Deklaration...): im Prinzip das was getComputedStyle macht.

Und leider läuft die currentStyle-Variante (für XHTML & IE empfohlen) im Adobe SVG Plugin auch nicht wirklich :-(

Vielen Dank für eure Hilfe & ewig dankbar!

Grüsse
Siramon,
     ja der Penner aus Nr. 14