当使用由highcharts生成的图表并将其导出到SVG时,我每6秒会收到大量错误,大约1000(nodeName of undefined)
负责的代码是:
element = wrapper.element,
nodeName = element.nodeName, // <---- Here (Cannot read property 'nodeName' of undefined)
renderer = wrapper.renderer,
skipAttr,
attrSetters = wrapper.attrSetters,
shadows = wrapper.shadows,
hasSetSymbolSize,
ret = wrapper;
堆栈跟踪(在Chrome 17.0.963中)
Uncaught TypeError: Cannot read property 'nodeName' of undefined
SVGElement.attr highcharts.src.js:2008
init.Effect.HighchartsTransition.Class.create.update prototype-adapter.src.js:86
(anonymous function) effects.js:1
Effect.Base.Class.create.loop effects.js:1
Effect.ScopedQueue.Class.create.loop effects.js:1
b prototype.js:1
重新创建的小提琴:here,重现点击该系列的开/关,然后点击My Download
链接,再次打开/关闭,然后点击再次在My Download
链接上。
我的问题如下,这是我的代码,还是highcharts中的错误;我该如何解决?
答案 0 :(得分:1)
得到了我正在寻找的答案;这是highcharts中的一个错误,修复了here
答案 1 :(得分:0)
我对Prototype框架并不熟悉,但我做了一些测试并查看了这段代码:
function getGraphSVG(options) {
var svg;
if (window.charts) {
window.charts.each(function(pair) {
svg = pair.value.getSVG(options);
throw $break;
});
}
return svg;
}
不知何故,这个each
方法返回2个对象,其中一个是undefined
。所以做简单的检查:
if (pair.value)
svg = pair.value.getSVG(options);
或一行
pair.value && ( svg = pair.value.getSVG(options) );
它应该有用。