divを含むforeignObjectを持つSVG要素があります。私のjsで私はこれを行う:SVG foreignObjectがChromeに表示されない
$("#wrapper>svg>foreignObject>div").sparkline(data);
div内にキャンバスを作成する。私は2つのブラウザのための放火犯のHTMLコードを見てみると、次のとおりです。
のFirefox:
<svg>
<foreignObject width="20" height="20" x="10" y="-10">
<div>
<canvas style="display: inline-block; width: 18px; height: 19px; vertical-align: top;" width="18" height="19"></canvas>
</div>
</foreignObject>
</svg>
はクローム:Chromeで
<svg>
<foreignobject width="20" height="20" x="10" y="-10"/>
<svg>
それもdiv要素を示してdoesntの。私がdivを作成する方法は、
nodeEnter.append("foreignObject")
.attr("width", "20")
.attr("height", "20")
.attr("x", "10")
.attr("y","-10");
$("#wrapper>svg>foreignObject").append("<div></div>");
私はそれが動作することを期待しています。しかし、クロムはそうではありません。誰にも何か提案はありますか?
また、chrome firebugのHTML出力は "foreignobject"と表示されていますが、Firefoxでは "foreignObject"と表示されています。
Cool @Demosthenesはうまくいきました。 –
Chromeの動作が変更され、サブエレメントが にラップされているように見えるため、これを更新する価値があります。間違いなくEdgeはどちらの方法も気にしません。どちらのブラウザでも名前空間は必要ありません(しかし、他のブラウザはまだまだ厄介かもしれません)。 –
dav1dsm1th