博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
函数调用Java Web使用swfobject调用flex图表
阅读量:6902 次
发布时间:2019-06-27

本文共 3941 字,大约阅读时间需要 13 分钟。

这几周朋友几篇文章分析了改函数调用的文章. 关联文章的地址

Java Web使用swfobject调用flex图表在js中使用open flash Chart的swfobject.js来调用flex生成的swf文件,动态地把数据传入swf文件接口,生成响应的flash。SWFObject是一个用于在HTML中方面插入Adobe Flash媒体资源(*.swf文件)的独立、迅速的JavaScript模块,我们可以事先写好HTML的其他部分,最后再回过头来添加Flash内容,这样可以确保在客户端没有Flash的情况下,用户不会一无所得,也能确保flash能正常表现,不会出现有时能表现,有时不能表现的情况。Swfobject能够解决HTML与flash参数传递的问题,每次数据有更新,flash内容也能更着更新。 下面简单分析js与flash交互的进程:1. 下载swfobject.js,在vm文件中包括该js文件;2. 你的 HTML 中写一个用来放 Flash 的div比如: (给一个你想取的id 比如 swfcontent, 然后在这个div里放上你的替换内容.) 	

Alternative content

Get Adobe Flash player

这个div?放替换内容, 用来在 Flash 没法表现时表现,一般是这么设置的,如果表现不了,会表现一个下载新版本的flash播放器链接。3. 在HTML中写下面的一段js代码: YYchart公用函数是这样的: Function YYchart(swfSrc,innerIDName,funcName,objectIDAndName,widthVar,heightVar) { varWidth="100%"; varHeight="250"; if(widthVar){ varWidth=widthVar } if(heightVar){ varHeight=heightVar } var flashvars = {funcName: funcName}; var params = {menu: "false",wmode: "opaque"}; var attributes = {id: objectIDAndName,name: objectIDAndName}; swfobject.embedSWF(swfSrc, innerIDName, varWidth, varHeight, "9.0.15","expressInstall.swf", flashvars, params, attributes); }最终是使用swfobject.embedSWF把数据传入flash然后表现flash。 swfobject.embedSWF(swfUrl,id,width,height,version,expressInstallSwfurl, flashvars,params, attributes),各个参数详细功能如下: swfUrl(String,必须的)指定SWF的URL。 id(String,必须的)指定将会被Flash内容替换的HTML元素(包括你的替换内容)的id。 width(String,必须的)指定SWF的宽。 height(String,必须的)指定SWF的高。 version(String,必须的)指定你宣布的SWF对应的Flash Player版本(格式为:major.minor.release)。 expressInstallSwfurl(String,可选的)指定express install SWF的URL并激活Adobe express install。 flashvars(String,可选的)用name:value对指定你的flashvars。 params(String,可选的)用name:value对指定你的嵌套object元素的params。 attributes(String,可选的)用name:value对指定object的属性。 注 意 :在不破坏参数次序的情况下,你可以疏忽可选参数。如果你不想使用一个可选参数,但是会使用后面的一个可选参数,你可以简单的传入false作为参数的 值。对flashvars、params和 attributes这些JavaScript对象来说,你也可以响应的传入一个空对象{}。 这里参数 var flashvars = {funcName: funcName}; 的funcName就是下面的callApp1,callApp1函数里头通过swfobject.getObjectById("objectIDAndName")取得swf对象,通过该对象可调用flex函数dataSourceFunc(aryDailyVoucher,obj2,"date"),这样就能把数据传入flex做渲染。 var params = {menu: "false",wmode: "opaque"};这里可以设置一些flash表现的一些参数,比如wmode: "opaque"就是设定flash展示的时候可以表现在div层的下面。 var attributes = {id: objectIDAndName,name: objectIDAndName};这里是设置flash表现的时候的div id和div name属性。4. flex中生成BarChart.swf的代码是这样的:4.1首先在BarChart.mxml中写上柱状图的类似html标签的控件,
mx:Panel是一个面板,在这个面板中放置一个mx:ColumnChart柱状图, mx:Legend是设置数据提示的表现。4.2 在创建后整个mx:Application后须要使用creationComplete="initApp()",表示创建后须要就调用该函数,在initApp()函数中: internal function initApp():void { ExternalInterface.addCallback("dataSourceFunc",dataSourceChange); ExternalInterface.call(Application.application.parameters.funcName); }ExternalInterface.addCallback将 ActionScript 方法注册为可从容器调用,成功调用 addCallBack() 后,容器中的 JavaScript 或 ActiveX 代码可以调用在 Flash Player 中注册的函数。也就是js调用dataSourceFunc函数,响应的flex就会调用dataSourceChange这个函数去填充flash内容,dataSourceFunc就是下面的js函数中的swfobject.getObjectById("objectIDAndName").dataSourceFunc(aryDailyVoucher,obj2,"date"); dataSourceChange就是下面会说到的flex中的函数。EternalInterface.call(Application.application.parameters.funcName)Flex调用js函数,Application.application.parameters.funcName的值就是下面flashvars = {funcName: funcName}的funcName的函数名,也就是HTML页面的initApp()函数。4.3 flex中的dataSourceChange函数是这样的, public function dataSourceChange(dataArr:Object, yFieldArr:Object, xField:Object):void这个函数的几个参数对应swfobject.getObjectById("objectIDAndName").dataSourceFunc(aryDailyVoucher,obj2,"date")的这几个参数,这样flex就能条用js的这个函数,把数据传入到flex中,在flex的这个函数就能对这些数据停止处置,最后完成flash的数据填充。代码请看其它附件。
    每日一道理
如果说友谊是一颗常青树,那么,浇灌它的必定是出自心田的清泉;如果说友谊是一朵开不败的鲜花,那么,照耀它的必定是从心中升起的太阳。 多少笑声都是友谊唤起的,多少眼泪都是友谊揩干的。友谊的港湾温情脉脉,友谊的清风灌满征帆。友谊不是感情的投资,它不须要股息和分红。(友谊可以换其他词语)

 原文:

文章结束给大家分享下程序员的一些笑话语录: 爱情观

  爱情就是死循环,一旦执行就陷进去了。
  爱上一个人,就是内存泄露--你永远释放不了。
  真正爱上一个人的时候,那就是常量限定,永远不会改变。
  女朋友就是私有变量,只有我这个类才能调用。
  情人就是指针用的时候一定要注意,要不然就带来巨大的灾难。

--------------------------------- 原创文章 By

函数和调用
---------------------------------

转载地址:http://zwldl.baihongyu.com/

你可能感兴趣的文章
basic4android 开发教程翻译(五)Android进程及activitys 生存周期
查看>>
设计模式--工厂方法模式
查看>>
如何防止你的UI出现了假死吗?
查看>>
教你如何迅速秒杀掉:99%的海量数据处理面试题
查看>>
使用FFmpeg捕获一帧摄像头图像
查看>>
请问在数据库中怎样用模糊查询查找含有通配符的项,比如 like ' ' 我要查找含有“%”的项,怎么查?...
查看>>
使用webdriver和beautifulsoup下载国家地理图片
查看>>
在Magento产品分类页面创建推荐产品
查看>>
dsp 链接命令文件的写法
查看>>
数据库表及字段命名规范
查看>>
tcp/ip ---数据链路层
查看>>
Oozie coordinator 作业自定义的配置的一些方法
查看>>
Cacti监控MySQL实现过程中碰到的问题解汇总
查看>>
linux操作系统的分类及解释
查看>>
腾讯大讲堂ppt全集
查看>>
[LeetCode] Design Phone Directory 设计电话目录
查看>>
jquery 里面对数组去重操作-unique
查看>>
使用thrift实现了Javaserver和nodejsclient之间的跨平台通信
查看>>
HUE配置文件hue.ini 的hdfs_clusters模块详解(图文详解)(分HA集群和非HA集群)
查看>>
Delicious Apples (hdu 5303 贪心+枚举)
查看>>