尝试在xPages中实现Fusion Charts;图表未加载

时间:2014-09-04 21:45:17

标签: xpages fusioncharts

我正在尝试将融合图表加载到xPage中。遵循本教程http://docs.fusioncharts.com/tutorial-getting-started-your-first-charts-building-your-first-chart.html

图表未加载并显示图表加载。在页面底部,我在js控制台中收到一些错误消息。

以下是我用于该页面的代码。 (网址已从实际网址更改)

<xp:this.resources>


    <xp:script src="https://URL/Field/fplan.nsf/fusioncharts/js/fusioncharts.js"
        clientSide="true">
    </xp:script>
<xp:script
        src="https://URL/Field/fplan.nsf/fusioncharts/js/themes/fusioncharts.theme.fint.js"
        clientSide="true">
    </xp:script>
</xp:this.resources>
<xp:scriptBlock type="text/javascript">
    <xp:this.value><![CDATA[
  FusionCharts.ready(function(){
var revenueChart = new FusionCharts({
    "type": "column2d",
    "renderAt": "chartContainer",
    "width": "500",
    "height": "300",
    "dataFormat": "json",
    "dataSource":  {
      "chart": {
        "caption": "Monthly revenue for last year",
        "subCaption": "Harry's SuperMart",
        "xAxisName": "Month",
        "yAxisName": "Revenues (In USD)",
        "theme": "fint"
     },
     "data": [
        {
           "label": "Jan",
           "value": "420000"
        },
        {
           "label": "Feb",
           "value": "810000"
        },
        {
           "label": "Mar",
           "value": "720000"
        },
        {
           "label": "Apr",
           "value": "550000"
        },
        {
           "label": "May",
           "value": "910000"
        },
        {
           "label": "Jun",
           "value": "510000"
        },
        {
           "label": "Jul",
           "value": "680000"
        },
        {
           "label": "Aug",
           "value": "620000"
        },
        {
           "label": "Sep",
           "value": "610000"
        },
        {
           "label": "Oct",
           "value": "490000"
        },
        {
           "label": "Nov",
           "value": "900000"
        },
        {
           "label": "Dec",
           "value": "730000"
        }
      ]
  }

 });
  revenueChart.render();
})]]></xp:this.value>
</xp:scriptBlock>

<div id="chartContainer">FusionCharts XT will load here!</div>
  

Uncaught TypeError:无法设置undefined fusioncharts.js的属性'desc':436(匿名函数)fusioncharts.js:436v.core fusioncharts.js:20v.registrars.module fusioncharts.js:19v.extend.register fusioncharts。 js:22(匿名函数)fusioncharts.js:236   未捕获的TypeError:无法读取未定义的fusioncharts.js的属性'fn':437(匿名函数)fusioncharts.js:437v.core fusioncharts.js:20v.registrars.module fusioncharts.js:19v.extend.register fusioncharts.js:22 (匿名函数)fusioncharts.js:437   未捕获的TypeError:undefined不是函数fusioncharts.js:129(匿名函数)fusioncharts.js:129c fusioncharts.js:32H fusioncharts.js:32b.triggerEvent fusioncharts.js:36d.raiseEvent fusioncharts.js:36d.extend.render fusioncharts.js:70(匿名函数)chart.xsp:88(匿名函数)

如果我将HTML文件作为webcontent文件夹中的文件放入NSF中,我可以加载图表,所以至少我知道fusionchart文件是健全的。

如何实现这一点的任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

我想我首先将图表初始化代码移动到客户端脚本库中,并将其作为资源添加,以查看是否会产生影响。

答案 1 :(得分:1)

尝试按以下方式加载脚本:

<xp:this.resources>
<xp:headTag tagName="script">
<xp:this.attributes>
<xp:parameter name="type" value="text/javascript" />
<xp:parameter name="src" value=
"https://URL/Field/fplan.nsf/fusioncharts/js/fusioncharts.js" />
</xp:this.attributes>
</xp:headTag>
<xp:headTag tagName="script">
<xp:this.attributes>
<xp:parameter name="type" value="text/javascript" />
<xp:parameter name="src" value=
"https://URL/Field/fplan.nsf/fusioncharts/js/themes/fusioncharts.theme.fint.js" />
</xp:this.attributes>
</xp:headTag>
</xp:this.resources>