`

初试XML/SWF Charts实例及遇到的问题总结

 
阅读更多

Xml/Swf Charts是一个基于flash显示的图表组件,其效果还是比较炫的,今天花了一天学习其功能,期间遇到不少问题,最终经过不断调试准备,终于把问题解决了。

 

  • 简介
Xml/Swf Charts实现了一些3D和动态效果,官方网站:http://www.maani.us/xml_charts/index.php

  • 实例介绍
我实现的功能是一个柱状同,不同柱子从空中逐渐落下的效果:http://www.maani.us/xml_charts/index.php?menu=Gallery&submenu=Stacked_Column

首先从这里下载最新的文件,下载后解压文件,然后用Eclipse创建一个web项目,将解压的文件charts_library、resources、AC_RunActiveContent.js、charts.swf和sample.xml拷贝到WebRoot下。千万注意:除了sample.xml外,其它都是必备文件!


 

然后新建一个index.jsp页面,按照这里说的方法把必要的代码放入JSP中,代码如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%String root = request.getContextPath(); %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>flash</title>
<script language="javascript">AC_FL_RunContent = 0;</script>
<script language="javascript"> DetectFlashVer = 0; </script>
<script src="<%=root%>/AC_RunActiveContent.js" language="javascript"></script>
<script language="JavaScript" type="text/javascript">
<!--
var requiredMajorVersion = 10;
var requiredMinorVersion = 0;
var requiredRevision = 45;
-->
</script>
</head>
<body>

	<script language="JavaScript" type="text/javascript">
<!--
if (AC_FL_RunContent == 0 || DetectFlashVer == 0) {
	alert("This page requires AC_RunActiveContent.js.");
} else {
	var hasRightVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);
	if(hasRightVersion) { 
		AC_FL_RunContent(
			'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,45,2',
			'width', '480',
			'height', '300',
			'scale', 'noscale',
			'salign', 'TL',
			'bgcolor', '#777788',
			'wmode', 'opaque',
			'movie', '<%=root%>/charts',
			'src', '<%=root%>/charts',
			'FlashVars', 'library_path=<%=root%>/charts_library&xml_source=<%=root%>/sample.xml', 
			'id', 'my_chart',
			'name', 'my_chart',
			'menu', 'true',
			'allowFullScreen', 'true',
			'allowScriptAccess','sameDomain',
			'quality', 'high',
			'align', 'middle',
			'pluginspage', 'http://www.macromedia.com/go/getflashplayer',
			'play', 'true',
			'devicefont', 'false'
			); 
	} else { 
		var alternateContent = 'This content requires the Adobe Flash Player. '
		+ '<u><a href=http://www.macromedia.com/go/getflash/>Get Flash</a></u>.';
		document.write(alternateContent); 
	}
}
// -->
</script>

</body>
</html>
 为了找到正确的资源文件,我尽量写的是绝对路径。

再然后是编写sample.xml文件,XML/SWF Charts解析数据通常通过XML来解析,所以必须定义符合XML/SWF Charts规范的XML数据,具体规则信息在这里可以看到。当然XML是死了,为了实现动态数据,也可以自己动态拼接XML信息,具体怎么做,这里有说明。
我这里因为是直接用官方例子,就直接copy官方的XML代码到sample.xml,然后还需要修改sample.xml中的一点内容:找到“url='images/full_screen.swf'”将url替换成“resources/full_screen/full_screen.swf”,因为所有资源文件都放在resources中的。

最后部署到服务器,访问项目即可显示:


 

  • 错误总结
因为第一次试着做XML/SWF Charts的demo,对其所有功能都不熟悉,在做demo途中遇到不少问题。

①部署后页面空白,不显示任何内容
主要是我把下面这段script代码去掉了,这段代码是必须的
<script language="JavaScript" type="text/javascript">
<!--
var requiredMajorVersion = 10;
var requiredMinorVersion = 0;
var requiredRevision = 45;
-->
</script>
 

②部署后本来该显示flash的地方结果只显示了一块带背景色的方块
主要是忘记添加必备文件charts.swf
同时注意:script中配置的参数movie和src就是去掉后缀的charts

③部署后报“flash error 2036 URL not found”错误
把鼠标点到flash上,右键选择后退,能够看到最原始的错误,其实就是sample.xml中配置全屏显示的url路径找不到,把路径改成上面实例说的就行了。这个问题纠结我最久,都没想到鼠标右键看上一页- -||

 

  • 大小: 61.5 KB
  • 大小: 15.7 KB
  • 大小: 28.4 KB
0
0
分享到:
评论

相关推荐

    maani XML/SWF Charts

    在"maani XML/SWF Charts"中,XML文件被用来定义图表的数据源、样式、颜色以及各种配置选项。例如,`sample.xml`文件可能包含了定义图表系列、数据点、轴属性等信息。通过编辑XML,用户可以根据需求定制图表的外观和...

    XML/SWF Charts 4.6 破解版+实例

    博文链接:https://kenter1643.iteye.com/blog/161083

    XML/SWF Charts 基于Flash的图表统计插件 5.08

    内容索引:脚本资源,Ajax/JavaScript,统计图表,Js图表 这是一套基于FLASH/XML、Javascript技术共同打造的图形图表统计显示系统,适用于ASP/PHP/,有着比较准确、形象的统计显示体验,国内不少网站有它的身影,而且它...

    XML_SWF_Charts_4.6

    XML_SWF_Charts_4.6 XML_SWF_Charts_4.6

    flex charts 图形集合实例(读取XML)

    在“flex charts 图形集合实例(读取XML)”中,我们探讨的是如何使用Flex Charts来展示数据,并且这些数据是从XML文件中读取的。XML因其结构化和可扩展性,常被用作数据交换格式。以下是对这一主题的详细说明: 1....

    ExtJs charts.swf源码

    ExtJs图表库是基于Flash的charts.swf组件,主要用于在Web应用中生成各种动态和交互式的图表。这个组件在ExtJs 2.6和2.8版本中被广泛使用,为开发者提供了丰富的可视化数据呈现方式。本文将深入探讨ExtJs charts.swf...

    danielgindi/Charts折线图柱形图饼图用法Demo

    在项目`ChartsDemo`中,包含了各种图表类型的实例代码,这为开发者提供了一个很好的学习资源。通过研究这些示例,你可以了解到如何初始化图表视图,加载数据,以及如何调整图表的各种属性。同时,`ChartsDemo`也展示...

    YUI 2.8.0 charts.swf

    用于替换Extjs生成图表的charts.swf文件。实现图表的另存为图片的功能

    微软charts实例与文档说明

    在这个“微软charts实例与文档说明”的资源包中,你将找到两个主要部分:实例代码和相关文档。 首先,让我们来看看`net+3.5+mschart.zip`文件。这很可能包含了一系列的.NET Framework 3.5版本下的Microsoft Chart...

    Chart 极品web报表控件收集(Flot,AmCharts, Emprise JavaScript Charts...)

    PHP/SWF Charts - PHP/SWF 是一个简单支持web图表的强大工具,你能使用 PHP 来收集数据,并发送给flash,支持很多图表类型: Line, Column, Stacked column, Floating column, 3D column, Stacked 3D column, ...

    Maani PHP SWF Charts v4.6注册机

    Maani PHP SWF Charts v4.6注册机,很好用的php图标制作工具

    EasyCharts1.0插件安装与实例教程

    【EasyCharts1.0插件安装与实例教程】 EasyCharts1.0是一款强大的开源图表插件,专为Excel用户设计,旨在提供丰富的可视化效果和高效的数据呈现方式。它支持多种图表类型,包括面积图、不等宽柱状图、散点图、...

    qtcharts-opensource-src-5.7.0.zip

    QtCharts是Qt库的一个扩展模块,专注于提供各种图表和数据可视化功能。在“qtcharts-opensource-src-5.7.0.zip”这个压缩包中,包含的是QtCharts开源源代码的5.7.0版本。这个版本是Qt框架的一个重要组成部分,它允许...

    JSCharts官方实例,附带破解JS,无LOGO,可用

    JSCharts官方实例,附带破解JS,无LOGO,真正的可用

    android手机开发利器B4a最新库文件(截止到20170424)

    2012/08/09 周四 01:55 191,079 ABExtDrawing.xml 2010/12/10 周五 13:06 207,480 ABFTP.jar 2010/12/10 周五 13:04 6,176 ABFTP.xml 2011/07/26 周二 21:04 35,269 ABPhysicsEngine.jar 2011/07/26 周二 21:02 38,...

    使用Fusion Charts制作报表(dom4j生成XML)

    1. **初始化XML文档结构**:使用DOM4J的`Document`类创建一个新的XML文档实例。然后添加根元素,例如`chart`,表示图表的容器。 2. **添加图表属性**:在根元素下,可以添加各种属性节点,如`caption`、`subCaption...

    WPFVisifire.Charts全部实例

    **WPF Visifire Charts 全部实例** WPF Visifire Charts 是一款强大的图表库,专为Windows Presentation Foundation (WPF) 应用程序设计,用于创建视觉吸引力强、功能丰富的数据可视化图表。Visifire 提供了多种...

    Qt图形图像开发之曲线图表库QChart编译安装详细方法与使用实例

    Qt曲线图表库Qt Chart简介 Qt的线性绘图控件有大名鼎鼎的Qwt,ChartDirector,小巧玲珑...这里用git下载QtChart,参考Qt Charts 5.7.0 安装教程 Git地址:https://github.com/qtproject/qtcharts.git git clone https

Global site tag (gtag.js) - Google Analytics