【发布时间】:2012-01-23 22:03:32
【问题描述】:
我正在创建一个 javascript 界面以将 xlinked 图像动态添加到教室地图中。
//declare the xlink namespace in the svg header
xmlns:xlink="http://www.w3.org/1999/xlink"
...
//the code to append the image
var temp = document.createElementNS(svgns,"image");
temp.setAttributeNS(null,"x","0");
temp.setAttributeNS(null,"y","0");
temp.setAttributeNS(null,"height","80");
temp.setAttributeNS(null,"width","40");
temp.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href","roomlayouts/items/ cactus.svg");
图像附加并显示在屏幕上,带有如下标签:
<image x="0" y="0" height="80" width="40" xlink:href="roomlayouts/items/cactus.svg"></image>
但是一旦我将它通过 xmlserializer 以便我可以保存文件,它就会从前面剥离 xlink 标记:
var svgDoc = document.getElementById('SVGMap');
var serializer = new XMLSerializer();
var xmlString = serializer.serializeToString(svgDoc.firstChild);
创作:
<image x="0" y="0" width="40" height="80" href="roomlayouts/items/cactus.svg"></image>
这意味着 svg 丢失了仙人掌。有什么想法可以让 xmlserializer 保留 xlink 前缀吗?
=============================== 注意:这是 webkit 中的一个错误,现已解决。请参阅下面的讨论以获取错误报告的链接
【问题讨论】:
标签: javascript html svg xmlserializer