我正在尝试将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>
答案 0 :(得分:1)
我使用您提供的完全相同的HTML重新创建了您的问题。这似乎是eve.js
的异步资源加载的问题 - Raphael
依赖的内部组件。有三种方法可以解决这个问题:
请注意,这是FusionCharts版本
3.3.0-release.18739
中首次检测到的问题,可能不适用于其他版本。
按此特定顺序手动包含脚本文件FusionCharts.js
,FusionCharts.HC.js
和FusionCharts.HC.Charts.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)
如果您有源文件,请找到
FusionCharts.HC.js
的第5535行并将整行替换为eve = lib.eve = function(name, scope) {
我附加了修补后的FusionCharts.HC.js(缩小版)的链接,适用于试用版(未经测试的许可版本)并与v3.3.0.18739兼容。期待下一代FusionCharts将以某种方式解决这个问题。 :)
http://pastebin.com/raw.php?i=Zbhaq5hP
PS:Pastebin链接不会永远保留。因此,一旦托管链接可用,将更新和修改帖子。