Ich habe ein SVG-Element mit einem ForeignObject, das ein div enthält. Dann in meinem js mache ich das:SVG-Fremdobjekt nicht in Chrome angezeigt
$("#wrapper>svg>foreignObject>div").sparkline(data);
die erstellt eine Leinwand innerhalb der div. Wenn ich für die beiden Browser am firebug HTML-Code suchen sind:
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>
In Chrom es sogar die div zeigen doesnt. Die Art, wie ich das Div erstellen ist
nodeEnter.append("foreignObject")
.attr("width", "20")
.attr("height", "20")
.attr("x", "10")
.attr("y","-10");
$("#wrapper>svg>foreignObject").append("<div></div>");
Firefox funktioniert, wie ich es erwarte, dass es funktioniert. Aber Chrom nicht. Hat jemand irgendwelche Vorschläge?
Auch ich denke, ein Teil des Problems ist, dass die Chrome-Firebug-HTML-Ausgabe "Foreignobject" zeigt, aber der Firefox zeigt "ForeignObject" die Art, wie ich angehängt.
Cool @Demosthenes danke es funktionierte. –
Vielleicht lohnt es sich, dies zu aktualisieren, da Chrome anscheinend sein Verhalten geändert hat und das Unterelement jetzt sein muss - seltsamerweise ist Edge egal. Für beide Browser ist kein Namespace erforderlich (andere können jedoch wählerisch sein). –
dav1dsm1th