【问题标题】:Trying to implement Fusion Charts in xPages; chart not loading尝试在 xPages 中实现融合图表;图表未加载
【发布时间】:2014-10-10 12:33:47
【问题描述】:

我正在尝试将融合图表加载到 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>

未捕获的类型错误:无法设置未定义的 fusioncharts.js:436(匿名函数)的属性 'desc' fusioncharts.js:436v.core fusioncharts.js:20v.registrars.module fusioncharts.js:19v.extend.register fusioncharts。 js:22(匿名函数)fusioncharts.js:236 未捕获的类型错误:无法读取未定义的 fusioncharts.js:437(匿名函数)的属性 'fn' fusioncharts.js:437v.core fusioncharts.js:20v.registrars.module fusioncharts.js:19v.extend.register fusioncharts.js:22 (匿名函数)fusioncharts.js:437 未捕获类型错误:未定义不是函数 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 文件是正确的。

我们将不胜感激。

【问题讨论】:

  • Fusioncharts 使用 AMD 吗? AMD 加载不适用于 XPage 中的 Dojo。
  • 据我了解,Fusioncharts 不兼容 AMD。他们最近从纯 swf 更改为纯 js。 Sean Cull 有一篇关于过去使用它们的博客文章。没有意识到 AMD 使用 xpages 加载。很高兴知道谢谢。
  • 我决定使用 jQuery.Gantt,它在 xpages 中效果很好。

标签: xpages fusioncharts


【解决方案1】:

我想我会先将图表初始化代码移动到客户端脚本库中,然后将其添加为资源,看看是否会有所作为。

【讨论】:

  • 看起来将图表初始化添加到客户端库中没有任何改变。
【解决方案2】:

尝试通过以下方式加载脚本:

<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>

【讨论】:

  • 这对你有用吗?我决定切换到我能够实现的开源甘特图组件。感谢您的回复!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-01
  • 1970-01-01
  • 2021-09-16
相关资源
最近更新 更多