Page 1 sur 1

[Résolu] Firefox 1.5 Beta 1 : JavaScript : Error setData

Publié : 18 sept. 2005, 01:58
par Baly
Bonsoir,

j'essaye actuellement de réaliser le portage d'un SVG sur la version encore beta de FF (Firefox 1.5 Beta 1) qui supporte l'affichage SVG en natif.

Mon ancien SVG écrit pour une visualisation avec le plugin adobe semble ne pas respecter au mieux la norme w3c et quelques modifications ont étées nécessaires.

Un dernier problème résiste encore. Malgrès mes lectures et recherches sur le web je ne trouve pas de solutions.

Le problème se pose lorsqu'une action sur le svg (évènement "onclick") déclenche une fonction javascript qui doit pour effet final changer le texte d'un élément "text".

La console JavaScript m'indique une erreur :

Error: obj.setData is not a function

Code javascript :

function zoo(evt,xz,wz) {
var leg = xz+wz;
var unit = "Mb";
leg = leg+unit;
var obj = evt.target.ownerDocument.getElementById("tex");
var child = obj.firstChild;
child.setData(leg);
}

Elément "text" du SVG :

<text id="tex" style="fill: black; font-family: Courier; font-weight: bolder; font-size: 8pt" x="16" y="257">6.6Kb</text>

Mes questions :
Un moyen pour remplacer ce texte d'une autre manière, peut être plus adéquate et dans la norme ?
Ou simplement attendre les prochaines versions de Firefox :cry: ?
Merci de votre lecture et de partager ma peine le cas échéant :).

Publié : 18 sept. 2005, 02:15
par FF_Olivier
Je vois dans ma ref appendData(), deleteData(), insertData(), replaceData() et substringData(), mais pas setData(). Il y a bien un setDate(), mais ça n'a rien à voir...

Publié : 18 sept. 2005, 02:22
par jv2759
Je n'est pas de svg sous la main.

Mais si tu ne sait pas quoi utiliser, alors l'inspecteur dom et ton amie... Avec lui tu pouras visualiser tout les valeur et les fonction applicable à un élément.

Ainsi plus aucune crainte à avoir...

Publié : 18 sept. 2005, 02:33
par Baly
En effet je n'ai surement pas assez fouillé le dom,
et pourtant j'ai passé du temps avant de me décider à poser la question ^^.

En utilisant replaceData() j'arrive donc à mes fins.

Problèmatique résolue donc.

Merci FF_Olivier :wink: .