5568 sujets

Sémantique web et HTML

Bonjour

J'essaye de passer un ou des paramètres d'un fichier html vers un graphique en svg, pour dessiner en surimpression sur une carte.

J'ai essayé les exemples donnés par le W3C sur son site :

http://www.w3.org/TR/SVGParamPrimer/

Notamment les boutons dont on paramètre la couleur, le texte.

Rien ne marche : j'obtiens des boutons tout noirs, comme si le paramètre passé (ou reçu) était à #000000

Quelqu'un a essayé ? Y'a un truc ?
OK merci du tuyau. Après élagage, je reste (provisoirement j'espère) sur une solution javascript. Le fichier html :


<html>
<head>
</head>
<body>
<div>
<object data="parametre.svg" type="image/svg+xml" width=500px height=500px >
<param name="src" value="parametre.svg" />
<param name="couleurLigne" value="#00ff00" />
</object> 
</div>
</body>
</html>


Le fichier SVG


<svg width="500" height="500" 
    xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink"
	onload="parametres()">

  <script><![CDATA[
  var params;
  function valeurParametre(nom) {
    var p;
	for (p in params) {
	  if (params[p].name == nom) return params[p].value;
	}
	return null;
  }
  function parametres()
  {
    var couleur;
    params = document.defaultView.frameElement.getElementsByTagName('param');
    couleur = (valeurParametre('couleurLigne'));
    if (couleur) document.getElementById('uneLigne').setAttribute('stroke', couleur) ;
  }
  ]]></script>
  <line id="uneLigne" x1="25" y1="25" x2="475" y2="475"
        stroke="#808080" stroke-width="3.0" />
</svg>


Ca fonctionne... mais si je trouvais une solution sans javascript, j'achèterais.