wake-up-neo.net

Wie kann ich Fehler # 13 von Highcharts beheben?

Ich benutze highchart, also kann der Benutzer die Diagrammseite schließen und öffnen und das Diagramm neu zeichnen. In einigen Fällen geben Sie mir diesen Fehler. Wie kann ich das Problem beheben? DankeHier ist mein Code

 function populateGraph(graph1data1,graph1data2,id,time,bottomText,tickinterval){
$(function () {
  $('#'+id).highcharts({
      chart: {
          type: 'line'
      },
      xAxis: {
        tickWidth: 0,
        categories: ['1,2,3,4']
      },
      yAxis: {
        gridLineColor: '#fff',
          title: {
              text: ''
          },
          labels: {
              formatter: function() {
                  return '';
              }
          }              
      },
      navigation: {
        buttonOptions: {
            enabled: false
        }
    },
      series: [{
          name: 'This ',
          data: [1,2,3,4],
          color: '#1e71ef'     
      }, {
          name: 'Last ',
          data: [5,6,7,8],
          color:'#dfe0e1'
      }]
  });
});
}
}




       function loadOnlineDashboardChannel(channel){
          $.ajax({
          type: "get",
          dataType: 'html',
          data: {},
          url: "/companies/2/online_dashboard_channel",
          success: function(data, status){ 
          var obj = JSON.parse(data);
          var template_data = { 
            measures_list:   
              obj.measures         
          };
          $(function() { 
        var tmplHTML_measures = '{{#measures_list}} <div class="col-lg-11  col-lg-offset-1"><p class="indicator-title gray-bottom-border">{{name}}</br></p><div><p><span class="font30px">{{total}} </span> Total {{name}}<br><span class="green-text">{{increase}}%</span> from last <span class="metric_time"></span></p></div><div class="graph-header"><h3>{{this_interval}} </h3><p>New {{name}}</p><p class="percentage-graph green-text">{{percentag e}}%<p></div><div id={{graph_id}} class="graph"></div> </div>{{/measures_list}}';   
          Handlebars.render = function(tmpl, data){data = data || {};return                                                       Handlebars.compile(tmpl)(data);};  
      $("#template").empty().append(Handlebars.render(tmplHTML_measures,template_data) );
      var data_graph;
      for ( var i = 0; i < obj.measures.length; i++ ) {
        data_graph=obj.measures[i];
                      populateGraph(data_graph.this_interval_detail,data_graph.last_interval_detail,data_graph.graph_id,time,obj.bottom_graph_text,parseInt($('#timeframe-select').find(":selected").attr('interval')) );
      }              
     })


  },
  error: function(error) {

}
});

return this;
};

Ich benutze den Lenker also in diesem Teil im var tmplHTML_measures Ich erstelle das div, in für das ich die Funktion aufrufe, um das Diagramm zu zeichnen.

Danke, ich wiederhole manchmal es funktioniert perfekt und manchmal scheitert mir der Fehler # 13

11
Marion

Ich habe den gleichen Fehler erlebt und was ich erfahren habe ist, dass Fehler # 13 auftritt, wenn HighCharts.js versucht, auf ein Element zuzugreifen, das nicht im DOM vorhanden ist.

Wie habe ich das Problem behoben? Ich habe sichergestellt, dass die HightCharts-Methode nur aufgerufen wird, nachdem mein Zielelement im DOM erstellt wurde. Bingo!!!! Alles hat gut funktioniert.

11
Jay

Ich hatte das gleiche Problem und behebte es mit dem richtigen Container:

In meinem Fall habe ich Folgendes verwendet:

// Use Meteor.defer() to create chart after DOM is ready:
Meteor.defer(function() {
  // Create standard Highcharts chart with options:
  Highcharts.chart('Charts', {
    chart: {
      renderTo: 'container',
        type: 'column',
        options3d: {
            enabled: true,
            alpha: 15,
            beta: 15,
            depth: 50,
            viewDistance: 25
        }
    },....
  }.....
}

Template.body.helpers({
  createChart: function () {...}

und in der HTML-Datei:

<div id='Charts'>
    {{createChart}}
</div>

Ich habe das Update von Highcharts gefunden: http://forum.highcharts.com/viewtopic.php?f=9&t=15610

Grüße.

Vielleicht etwas zu spät für die Party, aber der Standardname für den Container im Highcharts-Beispiel war 'container'. Der Browser schien das nicht zu mögen, Namenskonflikt vielleicht, der Wechsel zu 'Chart' war der Trick.

1
Michael Couck

Kategorien müssen eine Sammlung sein, es war so:

categories: xaxis

Ändern Sie es zu diesem:

categories: ['xaxis']

Einige Datenfelder müssen in einfache Anführungszeichen wie folgt eingeschlossen werden:

data: 'blue'

Hier ist eine Geige ohne Fehler für Sie:

http://jsfiddle.net/MVcBe/

Viel Glück mit dem Rest. :)

ps Ich finde es manchmal einfacher, eine funktionierende Geige auf der Highcharts-Site zu bearbeiten und an das anzupassen, was Sie brauchen. Wie dieser:

http://jsfiddle.net/gh/get/jquery/1.9.1/highslide-software/highcharts.com/tree/master/samples/highcharts/demo/line-basic/

1
hutchonoid

Ich habe auch den gleichen Fehlercode erhalten, aber in meinem Fall war der Grund, dass meine Daten zu groß waren, um unterstützt zu werden

0
huang botao

Stellen Sie außerdem sicher, dass "highcharts-more.js" in Ihrem HTML-Code deklariert ist.

<script src="https://code.highcharts.com/highcharts-more.js"></script>
0
lecorbu

Ich habe Skriptcodes nach der Funktion Document Ready geladen, und es hat gut funktioniert.

$(document).ready(function(){
});
0
G.Ashok Kumar

Für mich wurde der Fehler behoben, als ich das aufrufende script nach dem HTML-Element platzierte.

Mögen;

<div id="container"></div>

<script>    
Highcharts.chart('container', {
// some script here
});
</script>

Auch wenn Sie auf der hohen Chartseite nachschauen, heißt es:

    This error occurs if the chart.renderTo option is misconfigured so that
Highcharts is unable to find the HTML element to render the chart in.

https://www.highcharts.com/errors/13

0
Aamir Shahzad