Fusioncharts的Client端的导出和Event设置
最近对Fusioncharts做了封装,使得通过对Java对象的操作生成相应的XML文件,然后利用自定义的Tag实现前端展示。开发的时候选择Fusioncharts的版本是free版,但要实现导出图表的功能,而free版不支持导出,所以只能用3.1的破解版。问题来了,free版支持的DOM,在正式版中不支持,并且XML的文件定义也略有不同,原来直接利用DOM XML的数据就能展示的图表现在不行了,无奈只好写Tag来实现展示。所以,各位如果要封装Fusioncharts并且要更多的功能,不如直接购买正版或者用破解版免得走弯路。free版的功能在正式版中不存在,目的也许是为了公测,感觉有点不靠谱。
?
Client的导出功能
?
下面说导出功能,我们的目的是封装Fusioncharts,使其具有通用性,因此不打算使用Server端的导出功能,直接使用Client端的导出。
?
1.引入JS文件,FusionChartsExportComponent.js
?
?
2.定义图表的时候需要将registerWithJS 置为1,如下:
?
?4.Chart的XML数据中需要增加的三个属性,exportHandler为刚才定义的导出组件名称
?
function FC_ExportReady(DOMId){ document.getElementById('导出组件的名字').style.visibility='visible';}?官方文档中图片导出的回调事件:http://www.fusioncharts.com/Docs/ECClientCallback.html
更多Chart相关的Event可以参考:http://www.fusioncharts.com/Docs/JavaScript/API/Events.html
?
通过上面的步骤我们的需求就基本实现了,如果展示多个图表,那么每个图表都有自己的导出组件。如果有批量导出的需求大家可以再实践一下Fusioncharts提供的批量导出功能。
?
1 楼 hotdog 2011-05-18 备注:
如果用setXMLUrl方式去展示图表,请求Url返回的XML如果没有BOM签名的话中文会显示乱码