【问题标题】:some error will be printed in consoled when i export highcharts当我导出 highcharts 时会在控制台中打印一些错误
【发布时间】:2016-06-07 21:51:57
【问题描述】:

我想导出highcharts。

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

它可以导出静态图表。

但是如果我用它来导出动态图表,图像将被导出并 "highcharts.js:285 Uncaught TypeError: Cannot read property 'data' of undefined" 将在控制台打印。

谁能告诉我为什么?

这里是导出动态图表的实验: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/

【问题讨论】:

标签: javascript charts highcharts


【解决方案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为内部属性,仅在导出图表时设置。

【讨论】:

  • 谢谢。它确实解决了这个问题。
猜你喜欢
  • 2017-03-19
  • 1970-01-01
  • 2019-08-05
  • 2013-08-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-02
  • 1970-01-01
相关资源
最近更新 更多