0

我正在尝试在同一页面上集成 FusionCharts 和 Aloha 编辑器。由于 Aloha 依赖于 jquery,我假设这就是导致某种冲突的原因,但我无法解决它,我整天都在努力解决它。任何帮助,将不胜感激。谢谢

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <title>Getting Started with Aloha Editor</title>
    <link rel="stylesheet" href="index.css" type="text/css">
    <link rel="stylesheet" href="aloha.css" type="text/css">
    <script src="require.js"></script>
    <script src="jquery-1.7.2.js"></script>
    <script type="text/javascript" src="FusionCharts/FusionCharts.js"></script>
    <script src="aloha.js" data-aloha-plugins="common/ui,common/format,common/highlighteditables,common/link"></script>
</head>
<body>
    <div id="main">
        <div id="content"><p>Getting started with Aloha Editor!</p></div>


        <div id="chartContainer">FusionCharts XT will load here!</div> 
    </div>
    <script type="text/javascript">
    Aloha.ready( function() {
        Aloha.jQuery('#content').aloha();
    });
        var myChart = new FusionCharts("Column3D", "myChartId", "400", "300");
        myChart.setXMLData("<chart caption='Weekly Sales Summary' xAxisName='Week' " +
        "yAxisName='Sales' numberPrefix='$'>" +
          "<set label='Week 1' value='14400' />" +
          "<set label='Week 2' value='19600' />" +
          "<set label='Week 3' value='24000' />" +
          "<set label='Week 4' value='15700' />" +
        "</chart>");
        myChart.render("chartContainer");
    </script>
</body>
</html>
4

1 回答 1

1

我使用您提供的完全相同的 HTML 重新创建了您的问题。这似乎是异步资源加载的问题eve.js- 一个Raphael依赖的内部组件。有三种方法可以解决此问题:

请注意,这是在 FusionCharts 版本中首次检测到的问题3.3.0-release.18739,可能不适用于其他版本。

1.最简单的修复

手动包含脚本文件FusionCharts.jsFusionCharts.HC.jsFusionCharts.HC.Charts.js按此特定顺序。

2.编辑FusionCharts.HC.js

FusionCHarts.HC.js这是对源文件的简单单行编辑。如果您有缩小版本,(这可能看起来很难看)...找到第 144 行并替换该行的第一部分

FusionCharts(["private","modules.renderer.js-raphael",function(){var l=this.hcLib,i,r=window.Raphael,C;(function(d){var j=/[\.\/]/,i=function(){},e=function(d,e){return d-e},l,r,C={n:{}},M=function(d,j)

FusionCharts(["private","modules.renderer.js-raphael",function(){var l=hfeve=this.hcLib,i,r=window.Raphael,C;(function(d){var j=/[\.\/]/,i=function(){},e=function(d,e){return d-e},l,r,C={n:{}},M=hfeve.eve=function(d,j)

如果您有源文件,则找到第 5535 行FusionCharts.HC.js并将整行替换为eve = lib.eve = function(name, scope) {

3.使用修改后的代码。

我附上了一个链接到已修补的 FusionCharts.HC.js(缩小版),适用于试用版(在许可版本上未经测试)并与 v3.3.0.18739 兼容。期待 FusionCharts 的下一个版本将以某种方式解决这个问题。:)

http://pastebin.com/raw.php?i=Zbhaq5hP

PS:Pastebin 链接不会永远存在。因此,一旦托管链接可用,将更新和修改帖子。

于 2013-03-21T22:22:17.940 回答