当前位置: 代码迷 >> Web前端 >> FusionCharts在easyui tab插件中重新加载的有关问题
  详细解决方案

FusionCharts在easyui tab插件中重新加载的有关问题

热度:206   发布时间:2012-07-01 13:15:00.0
FusionCharts在easyui tab插件中重新加载的问题
使用easyui的tab插件,当fusionchart初始化使用url时,切换标签,fusioncharts会重新加载,并可能导致加载数据失败。这种情况只出现在firefox浏览器中,在IE和Chrome下没有问题。代码如下:

var chart = new FusionCharts("../bi/charts/MSColumn3DLineDY.swf", "chartId", "400", "200", "0", "0");
	                    chart.setJSONUrl("/ycwa-webapp/WAHF/WAHF50/chart.json");
	                    chart.render("chart1");


后来将代码改为:
var chart = new FusionCharts("../bi/charts/MSColumn3DLineDY.swf", "chartId", "400", "200", "0", "0");
	                    $.get('/ycwa-webapp/WAHF/WAHF50/chart.json?funCode=WAHF20&nodeKey=WAHF50&cyear='+$("#cyear").val()+'&cmonth='+$("#cmonth").val(),{},function(d,s){
	                    	chart.setJSONData(d);
	                    	 chart.render("chart1");
		                },'json');

问题解决。导致该问题的原因是,easyui的tab隐藏时会设置display:none,FireFox会卸载掉fusioncharts的swf,当重新切换到tab时,fusioncharts会重新加载。解决该问题的思路是,在初始化swf时,不要使用url获取数据,改为使用js常量。