我使用的是FusionCharts 3.2.1,我想在浏览器中未安装或禁用flash播放器时在javascript中呈现图表。我正在调用方法FusionCharts._fallbackJSChartWhenNoFlash(),但是什么也没有发生。
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);
}
}发布于 2012-04-06 14:48:51
你必须坚持使用FusionCharts 3.2.1吗?如果您升级到最新版本(如果您已经是客户,则该版本是免费的),此问题将得到解决。
从FusionCharts 3.2.2开始,当Flash Player不可用时,组件会自动呈现JavaScript图表,而您不需要显式调用FusionCharts._fallbackJSChartWhenNoFlash();。
但是,如果您仍然希望坚持使用v3.2.1,我建议您首先查看以下内容:
发布于 2012-04-06 14:33:15
似乎FusionCharts构造函数的参数顺序不正确。
从FusionCharts Documentation
var myChart = new FusionCharts("FusionCharts/Column3D.swf", "myChartId", "400", "300", "chartContainer", {dataFormat : "json", dataSource : chartDataJSON});
上面的代码应该可以为您工作。
https://stackoverflow.com/questions/10030056
复制相似问题