Highcharts将重复的xmlns属性添加到IE中的SVG元素

时间:2013-06-23 21:11:33

标签: internet-explorer svg highcharts xml-namespaces

我正在使用Highcharts在PHP Web应用程序中创建图表。问题是在IE中,创建的SVG元素最终会出现重复的xmlns属性。可以在F12开发人员工具HTML选项卡中看到:

enter image description here (点击查看大图)

虽然图表在浏览器中显示得很好,但在尝试将其转换为带有Batik的图像文件时会出现问题,而Batik会抱怨重复属性。

我已经在IE 9和10中重现了这一点,并且还在highcharts.com上演示了图表(这是上面的截图所在的位置)。但是,Firefox不会发生这种情况。

如何防止重复属性?或者,删除它的最佳方法是什么(PHP或jQuery)?我已经尝试通过Tidy运行包含SVG的HTML,但最终会将clipPath之类的元素转换为小写,这会导致问题。

2 个答案:

答案 0 :(得分:4)

我们现在修复了该错误,请参阅https://github.com/highslide-software/highcharts.com/issues/1978处的链接代码。虽然元素是使用createElementNS创建的,但只有IE9和IE10实际上为它创建了一个可见属性。因此,解决方法是添加属性,如果不存在。

答案 1 :(得分:2)

看起来像http://code.highcharts.com/highcharts.js

中的错误
f=this.createElement("svg").attr({xmlns:sa,version:"1.1"})

似乎错了(对于SVG),应该是

f=this.createElementNS(xmlns:sa, "svg").attr({version:"1.1"})

虽然这种改变可能会破坏IE< 9 VML实现。也许您应该将其报告给hightcharts support

相关问题