Tôi có phần tử SVG với một ExternalObject chứa div. Sau đó, trong js của tôi, tôi làm điều này:SVG externalObject không hiển thị trong Chrome
$("#wrapper>svg>foreignObject>div").sparkline(data);
tạo canvas trong div. Khi tôi nhìn vào mã firebug html cho hai trình duyệt là:
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>
Trong chrome nó doesnt thậm chí hiển thị các div. Cách tôi tạo div là
nodeEnter.append("foreignObject")
.attr("width", "20")
.attr("height", "20")
.attr("x", "10")
.attr("y","-10");
$("#wrapper>svg>foreignObject").append("<div></div>");
Firefox đang hoạt động như tôi đang mong nó hoạt động. Nhưng chrome thì không. Có ai có bất cứ đề nghị?
Ngoài ra, tôi nghĩ một phần của vấn đề là đầu ra HTML firebug HTML hiển thị "ngoại lệ" nhưng Firefox hiển thị "externalObject" theo cách tôi nối.
Cool @Demosthenes cảm ơn nó đã hoạt động. –
Có thể đáng cập nhật điều này vì Chrome dường như đã thay đổi hành vi của nó và phần tử con bây giờ phải là được bọc - cạnh kỳ lạ không quan tâm theo cách nào. Không có không gian tên là cần thiết cho cả hai trình duyệt (nhưng những người khác vẫn có thể cầu kỳ). –
dav1dsm1th