1
我有DEFS一个SVG对象:的XMLSerializer搞乱链接
defs.append('svg:pattern')
.attr('id', 'blue')
.attr('patternUnits', 'userSpaceOnUse')
.attr('width', '40')
.attr('height', '39')
.append('svg:image')
.attr('xlink:href', 'images/blue.png')
.attr('width', '40')
.attr('height', '39');
在我的代码我使用的XMLSerializer到POST数据:
var svg1 = tmp.getElementsByTagName("svg");
var svg_xml = (new XMLSerializer).serializeToString(svg1[0]);
在Safari中我得到了想要的结果:
<svg width="850" height="200">
<pattern id="blue" patternUnits="userSpaceOnUse" width="40" height="39">
<image xlink:href="images/blue.png" width="40" height="39"></image>
</pattern>
在Firefox或IE中我得到奇怪的结果:
<svg xmlns="http://www.w3.org/2000/svg" width="850" height="200">
<defs>
<pattern id="blue" patternUnits="userSpaceOnUse" width="40" height="39">
<image a0:href="images/plateColor/blue.png" xmlns:a0="http://www.w3.org/1999/xlink" width="40" height="39"/>
</pattern>
我在做什么错? 谢谢 Rolf
Safari浏览器的结果看起来无效,它应该定义xlink前缀。 –
在此处找到解决方案: https://groups.google.com/forum/#!topic/d3-js/NCm0rvr4Dyg 这是d3js中的一个错误 – Rolf