Je crée une zone de texte dans un foreignObject dans un SVG comme suit:<textarea> intérieur <foreignObject> poignées comme prévu dans Chrome, mais pas Firefox
var doc = document.getElementById("cover");
var foreign = document.createElementNS(svgNS,"foreignObject");
var textarea = document.createElementNS("http://www.w3.org/1999/xhtml","textarea");
foreign.setAttributeNS(null,"x",40);
foreign.setAttributeNS(null,"y",40);
foreign.setAttributeNS(null,"width",500);
foreign.setAttributeNS(null,"height",200);
doc.appendChild(foreign);
textarea.setAttributeNS(null,"xmlns","http://www.w3.org/2000/xmlns/");
textarea.textContent = "Text goes here.";
foreign.appendChild(textarea);
Cela fonctionne bien dans Chrome. Cependant, dans Firefox, je ne peux pas voir le textarea du tout. Quand je vérifie avec Firebug, il existe, mais firefox a forcé le positionnement statique, et selon la façon dont je défile, la case en surbrillance de survoler l'objet dans l'onglet html n'est pas nécessairement même à l'intérieur du svg. Même quand c'est le cas, je ne peux pas voir le textarea. Que puis-je faire pour résoudre ce problème dans Firefox? Pour référence, j'utilise les dernières versions des deux navigateurs (mises à jour il y a quelques heures).
Cela fonctionne pour firefox. Une idée de comment le faire fonctionner pour IE, ou est-ce une autre boîte de Pandore? – Fibericon
@Fibericon IE a seulement commencé à prendre en charge SVG dans la version 9 et le support est [bien derrière les autres principaux navigateurs] (http://www.codedread.com/svg-support.php). Pour les versions plus anciennes, vous pouvez essayer [svgweb] (http://code.google.com/p/svgweb/) mais je pense que le support natif est la seule vraie option si vous utilisez 'foreignObject'. – robertc