2012-04-05 12 views
0

Ich benutze FusionCharts 3.2.1 und ich möchte Diagramme in Javascript darstellen, wenn der Flash-Player nicht im Browser deaktiviert installiert ist. Ich rufe die Methode FusionCharts._fallbackJSChartWhenNoFlash() auf, aber nichts passiert.FusionCharts 3.2.1 - FusionCharts._fallbackJSChartWhenNoFlash() funktioniert nicht

function updateChart(chartDataJSON) { 
     FusionCharts._fallbackJSChartWhenNoFlash(); 
      var currentSwfName = 'MSCombi2D.swf'; 
      if (chartDataJSON.swfName) { 
       currentSwfName = chartDataJSON.swfName; 
      } 
      if (prevSwfName != currentSwfName) { 
       prevSwfName = currentSwfName; 
       var contextPath = document.getElementById('contextPath').value; 
       var swfUrl = contextPath + '/charts/' + currentSwfName; 

       if (FusionCharts('residenceChart')) { 
        FusionCharts('residenceChart').dispose(); 
       } 

       new FusionCharts({ 
        id: 'residenceChart', 
        swfUrl:swfUrl, 
        renderAt:'consumptionChartDiv', 
        dataFormat:'json', 
        dataSource: chartDataJSON, 
        registerWithJS: 1, 
        width: 730, 
        height: 300, 
        debugMode: 0 
       }).render(); 
      } else { 
       FusionCharts('residenceChart').setJSONData(chartDataJSON); 
      } 
} 
+0

Wird das Diagramm in Flash gerendert? –

+0

@ HrishikeshChoudhari Ja. – spauny

Antwort

1

Ist es zwingend erforderlich, dass Sie sich an FusionCharts 3.2.1 halten? Wenn Sie auf die neueste Version aktualisieren (die kostenlos ist, wenn Sie bereits Kunde sind), wird dieses Problem gelöst.

Seit Fusion 3.2.2 macht die Komponente automatisch Charts JavaScript, wenn Flash Player nicht verfügbar ist, und Sie würden nicht explizit FusionCharts._fallbackJSChartWhenNoFlash(); In der Tat nennen müssen, ist diese Methode aus der aktuellen API entfernt wird.

Wenn Sie jedoch nach wie vor auf v3.2.1 halten wollen, würde ich Ihnen zuerst in den folgenden aussehen empfehlen:

  1. Stellen Sie sicher, dass Sie alle zugehörigen JavaScript-Datei, die mit dem Paket geliefert wurde Fusion und neben der Datei `FusionCharts.js` gespeichert.
  2. Da die JavaScript-Diagramme zusätzliche JS-Dateien erfordern, werden sie bei Bedarf dynamisch geladen. Es könnte jedoch für Ihren Fall gescheitert sein; Versuchen Sie, die JavaScript-Dateien manuell zum Seitenkopf hinzuzufügen Beitrag Einschluss FusionCharts.js
  3. Wenn Sie JavaScript-Fehler auf Ihrem Browser debug/js Konsole haben, suchen Sie nach Hinweisen aus der Fehlermeldung. Die FusionCharts-Dokumentation und das Produktforum können Ihnen helfen, die Ursache der Fehlermeldung herauszufinden.
  4. Nur als Vorsichtsmaßnahme sicherstellen, dass der swfName, der über JSON übergeben wird, im richtigen Fall ist. FusionCharts 3.2.1 JavaScript-Diagramme hatten ein swfUrl Groß-und Kleinschreibung Problem.
-2

Es scheint, dass die Parameter für den FusionCharts-Konstruktor nicht in der richtigen Reihenfolge sind.

Vom FusionCharts Documentation:

var myChart = new FusionCharts("FusionCharts/Column3D.swf", "myChartId", "400", "300", "chartContainer", {dataFormat : "json", dataSource : chartDataJSON});

Der obige Code sollte für Sie arbeiten.

Verwandte Themen