FusionCharts使用问题及解决方法(二)

12年前

在上文中,我们介绍了FusionCharts常见问题(FAQ)的解决方法,本文将一同讨论FusionCharts使用者面临的一些复杂问题的解决方法。>>>下载最新版FusionCharts 

如何启用JavaScript调试模式?

要启用JavaScript调试模式,你将需要写下面的几行代码:

FusionCharts.debugMode.enabled(true);

此外,你还需要指定"debugMode" 输出的位置。如果你还想在浏览器的JavaScript控制台中查看错误,你需要写入一下几行代码:

FusionCharts.debugMode.outputTo( function() { console.log(arguments); } );

注意:根据浏览器的不同,你可能还需要启用“JavaScript控制台”。>>>详情请参阅Debugging your charts > Using JavaScript page。

FusionCharts图表在Windows中渲染正常,但是将同一个文件夹复制到Linux或者Mac server中后,就无法正常运行了?

你需要检查一下代码中的文件名写法是否正确。因为,在 Windows中的文件名不区分大小写,

但是在MAC或者Linux操作系统中, 文件名需要区分大小写。因此,如果实际文件名是Column3D.swf,在MAC或者Linux的代码中文件名就不能写成column3d.swf,否则图表就无法渲
染。

我设置FusionCharts图表百分比高度后,图表停止渲染

当你设置了图表的百分比后,它会根据其父容器的宽和高来获取图表的宽度和高度。例如,你有一个容器<div id="chartContainer">,DIV容器没有设置绝度/相对高度的话,DIV的高度将为“0”。当图表在一个100%高度的DIV中呈现时,图表就会尝试获取高度为0的父DIV高度。图表的高度也就为0。在下面的示例中,试着给图表设置一个绝对高度:

<div id="chartContainer" style="width:100%; height:800px;">FusionCharts XT will load here!</div>
<script type="text/javascript">
var chart = new FusionCharts("Column2D.swf", "ChartId", "100%", "100%", "0", "1");
chart.setXMLUrl("Data.xml");
chart.render("chartdiv");
</script>

尽管JSON file文件的路径是正确的,但是图表仍然无法从URL中加载JSON

许多Web服务器,如IIS6默认情况下不提供JSON文件文件。你需要设置一下Web服务器来获取JSON文件。以IIS6为例,具体步骤如下:

1、在IIS Manager中打开服务器属性,点击MIME类型,然后点击 "New"。
2、输入 "JSON" 和"application/json"并分别将它们作为扩展名和MIME类型。

基于相同的数据源,为何Flash图表能够正常运作,而Javascript图表却显示 'Invalid Data'?

请确保图表的XML中没有重复的属性或者多余的引号(“)。因为,Flash图表忽略重复的属性,而JavaScript图表执行了严格的XML验证。