繁体   English   中英

Highcharts nodeName未定义

[英]Highcharts nodeName of undefined

在使用由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

重新创建的小提琴在这里 ,重现单击该系列的开/关然后单击My Download链接,再次打开/关闭并再次单击My Download链接。

我的问题如下,这是我的代码,还是highcharts中的错误; 我该如何解决?

得到了我想要的答案; 这是在highcharts一个bug,固定在这里

我对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) );

它应该工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM