2

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

在此处输入图像描述 (点击查看大图)

虽然图表在浏览器中显示得很好,但在尝试使用 Batik 将其转换为图像文件时会导致问题,该文件会抱怨重复属性。

我已经在 IE 9 和 10 以及 highcharts.com 上的演示图表中复制了这一点(上面的屏幕截图是在此处拍摄的)。不过,Firefox 不会发生这种情况。

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

4

2 回答 2

4

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

于 2013-06-25T10:02:49.237 回答
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 支持

于 2013-06-24T07:12:16.923 回答