当我导出highcharts时,将在安慰中打印一些错误

时间:2016-06-06 12:10:32

标签: javascript charts highcharts

我想导出highcharts。

我发现chart.exportChart可以帮助我。

它可以导出静态图表。

但如果我使用它来导出动态图表,则会导出图像 " highcharts.js:285未捕获的TypeError:无法读取属性'数据'未定义的" 将在控制台中打印。

谁能告诉我为什么?

此处是导出动态图表的实验:http://jsfiddle.net/u02amghs/

如果您点击"导出图表" ,错误信息将在控制台中打印。

此处是导出静态图表的实验:http://jsfiddle.net/gh/get/jquery/1.7.2/highslide-software/highcharts.com/tree/master/samples/highcharts/members/chart-exportchart-filename/

1 个答案:

答案 0 :(得分:1)

问题是您要为导出的图表添加点。导出图表时,会生成新图表(包括 chart.events.load回调),导出然后销毁。 setInterval未被清除,这就是您看到错误的原因。要回答您的问题,请不要在导出图表时添加setInterval

chart: {
  events: {
    load: function() {

      if (!this.options.chart.forExport) {
        // set up the updating of the chart each second
        var series = this.series[0];
        setInterval(function() {
          var x = (new Date()).getTime(), // current time
            y = Math.random();
          series.addPoint(['Jan', y], true, true);
        }, 1000);
      }
    }
  }
},

options.chart.forExport是内部属性,仅在导出图表时设置。