我们使用 FUSIONCHART 进行图形渲染的时候会指定渲染 FUSIONCHART 的元素的 ID ,如果要求在当前页面不刷新的情况下更新该 ID 的 FC 图形时,则会在 JS 当中报该 ID 已经使用的错误。这是因为 FC 在渲染时,原先渲染的 FC 图形的 object 并没有释放掉,就生成新的图形,虽然来说生成新图形没有问题但是原来的内存并没有释放掉。如果不断重复这个过程页面会崩溃掉。所以每次重新生成的时候要进行内存的释放。
下面提供两种方式来解决这个问题:
方法1:
if(FusionCharts("chartId")!= undefined){
FusionCharts("chartId").dispose();
}
方法2:
if(!FusionCharts("chartId")){
var chart =new FusionCharts(”具体swf“, "ChartId", "100%", "470", "0", "0");
chart.setXMLData(“xml数据”);
}else{
FusionCharts("myChartId").setXMLData("xml数据");
}