Flash的自我数据交换与传递
- 格式:pdf
- 大小:178.58 KB
- 文档页数:3
Flash与后台数据交换⽅法整理⼀.LoadVars篇我之所以把XML也放在这⾥说,是因为XML和LoadVars数据交互的⽅式⼤体相同,就是传递时的数据内容有点不⼀样⽽已! 我现在列出在开发过程最常⽤的"⽤户密码验证"实例,加以说明!复制代码代码如下://=======================================================;// Flash代码;//=======================================================;//定义LoadVars对象;var data_lv = new LoadVars();//提交的⽤户名变量和参数值;data_ername = "kinglong";//提交的密码变量和参数值;data_lv.password = "king";//提交后返回结果;data_lv.onLoad = function(success){//success,数据提交是否成功;//这个只是表⽰数据传输是否成功,并不是⽤户验证的结果;if(success){trace("数据提交成功!");//result也是⽤户验证返回的实际结果!if(this.result=="true"){trace("yes");}else{trace("no");}}else{trace("数据提交失败!");}}//数据提交⽅法调⽤;//第⼀参数就是提交的页⾯地址;//第⼆参数就是返回结果对象(只要是LoadVars对象就可以了);//第三参数就是提交⽅式(这个和html中form表单类似,分为"post"和"get"两种⽅式)data_lv.sendAndLoad("/save.asp",data_lv,"post");复制代码代码如下://=======================================================;//后台服务端页⾯处理及返回内容;//=======================================================;//接收flash提交过来的变量和接收⼀个页⾯提交过来的变量⼀致的;Request("username") 就是flash端username变量传过来的值"kinglong";Request("password") 就是flash端password变量传过来的值"kinglong";....数据库验证.....//如果⽤户验证通过&result=true//如果⽤户验证失败&result=false//整个页⾯返回内容就是上⾯那⼀⾏内容,&result对应⽤着flash端的result变量;//如果是多个返回值的话,就是&result=xxx&result1=xxx这种形式就可以了;如有不清楚的地⽅,你可查看flash帮助⽂档!⾄于XML的⽅式,请对应地查看flash帮助⽂档就可以了!LoadVars⽅式的优点:1.flash代码实现起来简单,⽅便.2.服务端接收页⾯和接收⼀个表单过来的数据⼀样处理,不需要专门的技术,所有服务端程序都可以实现!LoadVars⽅式的缺点:1.传递的变量不宜过多.2.变量传递的值不宜过长.3.变量传递值只能使⽤"字符串"这⼀种数据类型,数据类型单⼀.4.数据返回值当中不能有"&"字符,因此⽐较复杂的返回值都需进⾏URL编码处理.⼆、Flash RemotingFlash Remoting这种数据接⼝是四个之中效率最⾼的!其优点:1.⽀持数据类型⽐较多(Converting from application server data types to ActionScript);2.传递数据量⽐较⼤;3.运⾏效率是现有⼏个当中最⾼的;4.对各种后台的⽀持也⽐较好;5.其还有调试模块(NetConnection Debugger)其缺点:1.需要flash端装Flash Remoting MX Components(这个是免费提供的);2.需要后台服务端装相应版本的Flash Remoting模块才可以使⽤,MM提供的模块有j2ee和.net两个版本是要收费的,好在⽹上还有两个开源的(OpenAMF,AMFPHP);3.好像Remoting对虚拟主机的⽀持不太好(可以去google搜索⼀下,有没有解决⽅法).复制代码代码如下:================================================================Flash端代码说明:(我这⾥⽤as1.0版本为例,其他版本到MM站查找)================================================================//加载Remoting Component代码,这个是必须的;#include "NetServices.as"//加载Remoting 调试模块代码,这个是可选择的,⽤NetConnection Debugger查看调试信息;#include "NetDebug.as"if (inited == null){inited = true;//设置默认⽹关;NetServices.setDefaultGatewayUrl("http://localhost:8500/flashservices/gateway");//建⽴⽹关连接;gateway_conn = NetServices.createGatewayConnection();//获取⼀个服务;myService = gateway_conn.getService("myservice", this);}//定义调⽤⽅法的函数;function getString(name){//调⽤Remoting的getString⽅法;myService.getString(name);}//定义返回结果的函数;function getString_Result(result){//result就为返回的结果;trace(result);}//定义返回状态的函数,此为可选的;function getString_Status(error){trace("getString_Status");trace(error.code);trace(error.description);trace(error.details);}//调⽤函数;getString("kinglong");复制代码代码如下:================================================================服务端⽅法定义(我这⾥以Coldfusion Component为例,其他版本请参考相应的资料)================================================================<!---⽂件名为myservice.cfc---><cfcomponent displayname="我的服务"><!---定义了getString⽅法,需将access设为remote,否则Flash remoting⽆法调⽤此⽅法---><cffunction name="getString" access="remote" returntype="string"><cfargument name="name" type="string" required="true"><cfset myResult = & ",欢迎你!"><cfreturn myResult></cffunction></cfcomponent>另附上Flash Remoting的在线帮助⽂件(Flash Remoting LiveDocs),MM⽹站上的Remoting相关的资料三、WebService个⼈觉得WebService的数据访问速度,仅次于Remoting,但WebService是⼀种通⽤型的接⼝,⼀般服务端技术都⽀持的! WebService的优点:1.WebService的接⼝⽀持⽐较⼴泛(Java,,PHP,Coldfusion-我下⾯举例⽤);2.WebService是⼀个通⽤型的接⼝,所以服务端写的接⼝,不局限于Flash使⽤,其他程序也可以调⽤,"⼀举两得"!3.WebService和Remoting⼀样,⽀持多种数据类型!4.今天还发现FMS除了⽀持Remoting接⼝,也⽀持WebService接⼝了:)WebService的缺点:Flash客户端到是没有什么问题,Flash的开发⼯具就⾃带了(WebServiceConnector 组件),但服务端虽说⼤多都⽀持这个接⼝技术,但除了Coldfusion⽣成WebService⽅便外,其他的实现都挺复杂的!复制代码代码如下://=======================================;// Flash客户端代码;// 对于代码不是很熟悉的可以直接使⽤WebServiceConnector 组件,进⾏设置设置就可以了。
Flash数据交互Flash作为一款非常流行的交互式媒体应用程序,越来越多的开发者都开始使用它来开发各种类型的应用程序和网站。
然而,随着互联网技术的不断发展,数据交互在应用程序和网站中变得越来越重要。
因此,Flash数据交互也成为了开发者们在使用Flash 开发应用程序和网站时需要考虑的一个关键因素。
一、Flash数据交互的概念Flash数据交互是指通过Flash应用程序或网站与外部服务器或数据库进行数据交换的一种技术方式。
通过Flash数据交互技术,开发者们可以将Flash应用程序或网站与外部系统进行数据交互,从而实现各种不同的功能需求,比如在线游戏、网上支付、在线注册等等。
二、Flash数据交互的类型在Flash数据交互中,数据传输可以分为两种类型:客户端与服务端之间的数据传输和服务端与数据库之间的数据传输。
1.客户端与服务端之间的数据传输这种类型的数据交互通过HTTP或HTTPS协议进行传输,通常使用的技术包括XML、JSON、AMF等。
XML和JSON是用于数据交换的通用格式,可以被大多数编程语言所支持。
AMF是一种二进制格式,可以提高数据传输速度,但只能被Flash插件所支持。
2.服务端与数据库之间的数据传输这种类型的数据交互通常使用的技术包括PHP、、Java等编程语言,并且需要与数据库进行互动,以获取或修改数据。
在数据传输方面,一般情况下使用的技术包括SQL语句、SOAP、RESTFUL API等。
三、Flash数据交互的应用场景Flash数据交互在实际应用中具有很广泛的应用场景。
以下是一些常见的应用情景:1.在线游戏Flash游戏是一种典型的客户端和服务端之间的数据交互模型。
Flash客户端通过数据交换实现与服务器的交互,从而实现游戏的各种功能,比如登录、注册、保存进度等。
2.网上支付网上支付也是一个典型的Flash数据交互应用场景。
用户在进行支付时,需要通过Flash客户端将相关数据传输到服务端,服务端再进行处理并返回相关信息,通常需要涉及到银行或第三方支付平台的接口。
spi flash原理
SPI Flash是一种用于存储程序代码、数据和固件的非易失性
存储设备。
它的工作原理基于SPI(Serial Peripheral Interface)协议,通过使用串行通信接口实现数据传输。
SPI Flash由一个存储阵列和一个控制器组成。
存储阵列由多
个存储单元组成,每个存储单元可以存储一个比特(0或1)。
控制器负责控制数据的读取和写入。
读取数据时,首先需要向控制器发送一个读取指令,指令中包含待读取的数据的地址。
控制器通过串行通信接口将指令发送给存储阵列,并从中读取数据。
读取的数据会通过串行通信接口返回给外部设备。
写入数据时,首先需要向控制器发送一个写入指令,指令中包含待写入的数据的地址和数据内容。
控制器将指令和数据发送给存储阵列,并将数据写入到指定地址中。
为了提高数据读取和写入的速度,SPI Flash通常会采用分页
和扇区的方式进行数据存储。
分页将存储阵列划分为多个页,每页可以存储一定数量的数据。
扇区则将多个页组合在一起,形成一个扇区。
在读取和写入数据时,可以按页或扇区为单位进行操作,提高数据传输的效率。
除了存储程序代码和数据,SPI Flash还具有一些其他的功能。
例如,它可以用于存储引导程序,作为启动设备使用。
同时,SPI Flash还支持坏块管理功能,可以在出现坏块时自动将数
据转移到其他健康的块中,提高存储的可靠性。
总的来说,SPI Flash通过使用SPI协议实现了数据的高速读取和写入,同时具有坏块管理和其他功能,是一种常用的存储设备。
flash工作原理Flash是一种常用的多媒体技术,广泛应用于网页设计、游戏开发、动画制作等领域。
本文将介绍Flash的工作原理,从整体架构到具体实现细节,以帮助读者更好地理解Flash的运行机制。
我们来了解Flash的整体架构。
Flash由两个核心组件组成:Flash Player和Flash文件。
Flash Player是一个独立的应用程序,用于在用户的计算机上播放Flash文件。
Flash文件则是一种特殊的文件格式,其中包含了用于展示动画、音频和视频等多媒体内容的代码和资源。
当用户在浏览器中打开一个包含Flash内容的网页时,浏览器会加载Flash Player,并将Flash文件传递给Flash Player进行处理。
Flash Player会解析Flash文件中的代码,将其转换为可视化的内容,并在用户的屏幕上显示出来。
接下来,我们详细介绍Flash文件的结构和工作原理。
一个Flash 文件通常由多个元素组成,包括舞台、场景、图层、时间轴和动画对象等。
舞台是Flash文件的主要区域,用于展示内容。
场景则是舞台的一个子区域,用于划分不同的内容区块。
图层用于分层管理不同元素,使其可以在时间轴上独立操作。
时间轴是Flash文件的核心控制区域,用于定义和控制动画的播放顺序和时间。
动画对象则是Flash文件中的可视化元素,如图片、形状和文本等。
Flash文件的工作原理是基于时间轴的概念。
时间轴上的每一帧都代表了一个时间单位,Flash Player会按照时间轴上的帧顺序依次播放动画。
在每一帧中,Flash Player会根据代码和资源定义,计算并渲染当前帧的内容。
这意味着动画对象的位置、大小、颜色等属性可以在不同帧上进行变化,从而实现动画效果。
除了时间轴上的帧动画,Flash还支持基于代码的动画控制。
开发者可以使用ActionScript语言编写代码,通过控制动画对象的属性和行为,实现更加复杂的动画效果。
华为交换机如何导出和导入flash文件今天一不小心把53的flash给格式化了,重启时找不到SV100R002C02B152_for_文件,后来网上一搜索才知道没了ios了!很郁闷问同事和在网上找导入的方法,很多(我只能这样说),但就是没一个方法我可以用来搞定这个53的!没办法只能自己尝试了!一.导出ios:1、先在自己的电脑上建立一个tftp server(网上下载个安装),安装时注意路径,因为导出的文件就是默认此路径的。
2、找一台有完整的ios的,当然ios要一样的。
先从console口进入,为管理vlan配置ip(与自己的电脑的ip在同一个网段),然后把自己的电脑与其连接,任一端口(属于管理vlan就行),看看是否能ping 通,ping通就ok了。
3、在<Quidway>下输入tftp 192.168.0.44get Download file from remote TFTP Serverput Upload local file to remote TFTP Server<Quidway>tftp 192.168.0.44 putSTRING<1-64> Source filename ,Source filename 就是你要的ios文件名,回车就可以了。
二.导入ios:1、进入bootrom,Ctrl+B进入(重启动时注意看屏幕),密码是huawei。
2、进入后会出现BOOTROM MENU1. Boot with default mode2. Enter serial submenu3. Enter startup submenu4. Display flash files5. Modify BOOTROM password6. RebootEnter your choice(1-6):选择2,回车。
接着进入SERIAL SUBMENU1. Update BOOTROM system2. Download file to Flash through serial interface3. Modify serial interface parameter4. Return to main menuEnter your choice(1-4):选2,回车。
Flash CS3 传递参数
每个函数都有自已的特点,有些函数要求传递参数。
如果传递的参数多于函数所要求的个数,那么多余的值将被忽略。
如果没有传递函数要使用的参数,那么参数的数值类型将为未定义,在导出函数时也将出现错误。
例如在下面的函数中包括了两个参数,分别是a与b。
function cd(a,b){
mov.ttop=a;
mov.bott=b;
}
在上面这个函数中,mov为电影片段的名称。
当用户在调用上面这个函数时,函数会要求用户将它所要用到的参数传递给它。
例如下面分别将字符串hello和数值13传递给函数中的参数:
cd("hello",13)
当使用上面的语句将值传递给函数后,这时函数中的ttop的值将变成hello,bott的值将变成13。
要注意的是如果函数中的参数为本地变量,当调用该函数时,它的参数将存在;但是当退出该函数时,它将自动消失。
Flash与数据库交互技术的帮助文档——作者:王禹稼、李寅前言:该项技术对于个人的要求不是很高,简单的应用无需团队合作,但是作为一种现存的技术还是有必要了解一下它的,它本身并不是单独存在的,而是依靠多个技术结合而成的,主要涉及到的技术有Flash动画制作、ActionScript3.0编程、JSP、Servlet、HTML、XML、JDBC、JavaSE中dom4j类的使用。
总体来说技术含量一般,但是比较麻烦的是涉及的技术比较多,协调开发就会遇到许多意想不到的障碍,为了解决这些问题,才编撰了这篇文档。
网上有几种方式,本文档只是列举一种,只完成一次交互工作,仅供参考。
开发意义:Flash与数据库的进行数据交互有其存在的意义,例如:在有些项目中,一些应用需要动态的展示某种过程变化,或是想让画面看起来更美观人性化并且还需要显示底层数据。
面对这种要求我们就需要考虑使用这项技术了,首先Flash动画制作对个人的要求并不是很高,因为Adobe公司的Flash已经经历了数个版本的更新,无论是从功能上还是操作的人性化上来说都已经十分的成熟了,因此学习起来不会花费很多的时间;如果Flash想要与外界交流,单靠本身的ActionScript脚本语言是不够的,因为ActionScript3.0目前对数据库的支持还是不够好,所以就要考虑间接地方式了。
正文:一、开发流程总览:Flash与数据库交互的方式有很多,本文档只选择一种:Flash通过ActionScript解析XML文件获取数据,而XML文件则是由Servlet生成在服务器端的工程路径下,该XML文件的内容就是通过JDBC查出来的数据,而ActionScript访问XML文件的URL 是JSP页面动态的给Flash以参数的形式传入的。
根据以上说明,开发就可以分工进行了,美工主要负责Flash的制作,AcrionScript 的编写视情况而定,美工本身有能力的可以全权负责,这样便于开发,再者就可以让程序员来完成,只需要获得的美工提供动态显示数据的元件的实例名称即可,再有就是HTML页面的编写,视情况而定,也不是必须的;程序员主要是负责Servlet、JDBC以及JSP页面的编写工作。
Flash网页数据交互——实现互动网页的关键当今互联网技术日新月异,随着用户对高交互性的网页体验需求的飞速增长,互动性网页越来越受到人们关注。
Flash是一种强大的多媒体交互技术,在实现高互动性网页方面具有得天独厚的优势。
本文将着重探究的实现,是互动网页得以顺利实现的关键。
一、简介Flash是具有跨平台、高度互动能力的多媒体开发平台。
随着技术的不断进步,Flash已经发展成为一种操作系统级别的虚拟机,它可以运行在各种主流的操作系统平台上。
同时,Flash设计工具也变得越来越简便易用,极大地降低了开发的难度和门槛,使得大众可以快速地掌握这项技术。
Flash通过在页面上插入小程序,实现各类交互效果,包括表单提交、数据加工处理和数据储存等。
数据交互是Flash的一个重要特性,通过它,用户可以与服务器进行数据交换和管理,使网站的数据加载和更新得以快速实现。
二、的原理主要是基于ActionScript语言来实现的。
ActionScript是一种类似于Javascript的编程语言,它内置于Flash工具中,可以通过它来编写Flash小程序,实现网页的交互效果。
Flash与服务器端的数据交互主要包括以下几个步骤:1.在代码中引入数据传输对象(Data Transfer Object,DTO),并实例化一个DTO对象;2.设置DTO对象的数据属性,以便传递特定数据;3.创建一个服务器请求对象,用于将DTO与服务器进行交互;4.使用ActionScript的远程过程调用技术(Remote Procedure Call,RPC)将服务器上的方法与控件绑定;5.添加事件监听器,以便在服务器方法响应时,自动触发对应方法。
三、的实现1.使用URL请求使用URL请求是的一种简单方式。
通过URL请求,可以直接向服务器端发送请求和获取响应,实现数据传输。
具体实现步骤如下:1.创建URL请求对象;2.调用URLRequest类的构造函数,将请求引用添加到URLRequest对象的构造函数参数内;3.使用URLLoader类的实例向服务器发送数据请求;4.对响应进行解析并渲染数据。
flash 上传文件原理Flash 上传文件是一种网页前端技术,用于在不刷新整个页面的情况下将文件传输到服务器。
其原理基于Flash的功能可以访问用户的本地文件系统。
Flash 上传文件的过程大致分为以下几个步骤:1. 在网页中嵌入一个用于上传文件的Flash控件(通常是.swf文件)。
2. 用户在页面中点击上传按钮,触发Flash控件的上传功能。
3. Flash控件通过JavaScript函数与网页进行通信,从而将文件信息传递给服务器。
4. 服务器接收到文件后,进行相应的处理并返回上传结果给Flash控件。
5. Flash控件根据服务器返回的结果,在页面上反馈上传状态给用户。
具体实现过程如下:1. 在HTML页面中,使用嵌入代码(embed)或者JavaScript代码动态创建一个Flash对象,指定该Flash对象的.swf文件路径和其他参数。
同时在页面中创建一个用于触发上传的按钮。
2. 用户点击上传按钮后,在JavaScript代码中调用Flash对象的相关接口(例如FileReference.browse()),触发文件选择对话框的打开。
3. 用户在文件选择对话框中选择要上传的文件,点击确定后,Flash对象会返回被选中的文件的文件对象。
4. JavaScript代码将文件对象的相关信息(例如文件名、文件大小等)传递给服务器,可以使用AJAX或者其他方式发送请求。
5. 服务器接收到文件信息后,根据需要进行相应的处理,例如存储文件、验证文件格式等。
6. 服务器将上传结果返回给Flash对象,可以使用服务器响应、XML或者其他格式进行返回。
7. Flash对象根据服务器返回的结果,更新页面上的上传状态,例如进度条、上传成功/失败的提示等。
总体来说,Flash上传文件的原理是通过Flash对象与JavaScript代码的通信,实现用户选择文件并将文件信息传递给服务器进行处理。
FLASH函数详解大全(一)基本Action。
包括:- Go to 跳转到指定的帧- Play 播放- Stop 停止- Toggle High Quality 在高画质和低画质间切换- Stop All Sounds 停止所有声音的播放- Get URL 跳转至某个超联结- FSCommand 发送FSCommand命令- Load Movie 装载影片- Unload Movie 卸载影片- Tell Target 告知目标- If Frame Is Loaded ..判断帧是否被完全载入- On Mouse Event 鼠标事件其他Actions。
包括:- break 跳出循环- call 调用指定帧(一般喊有某个特定函数)- comment 注释- continue 继续循环- delete 删除一个对象(Object)中的变量- do while do while循环- duplicateMovieClip 复制MC- else 否则(与if联用)- else if 否则如果(与if联用)- evaluate 调用自定义函数(Function)- for for循环- for .. in依次取得对象(Object)中的各属性或者某个数组中的所有元素- FSCommand 发送FSCommand命令- function 声明自定义函数- getURL 跳转至某个超联结- goto 跳转到指定的帧- if 如果- ifFrameLoaded ..帧是否完全被载入- include 读入外部的ActionScript程序文件(.as)- loadMovie 装载MC- loadVariables 转载外部文件中的数据,这些外部文件可以是文本文件,或者是由ASP/CGI等脚本返回的文本值- on 鼠标事件的触发条件- onClipEvent MC的事件触发程序- play 播放- print 输出到打印机- removeMovieClip 删除MC- return 在函数(function)中返回一个值- set variable 设定变量值- setProperty 设定属性- startDrag 开始拖动- stop 停止- stopAllSounds 停止所有声音的播放- stopDrag 停止拖动- swapDepths 交换两个MC的深度- tellTarget 指定Action命令生效的目标- toggleHighQuality 在高画质和低画质间切换- trace 跟踪调试- unloadMovie 卸载MC- var 声明局部变量- while 当..成立时..- with 对..对象(Object)做.. 。
本栏目责任编辑:谢媛媛软件设计开发Computer Knowledge And Technology 电脑知识与技术2008年第4卷第7期(总第34期)Flash 的自我数据交换与传递黎志生,李涛(华南理工大学信息网络工程研究中心,广东广州510641)摘要:RIA 技术的杰出代表Flash 不单效果绚丽迷人,同时它也具有功能强大,易于编写等特点,具有很强的数据沟通能力。
该文通过具体例子,深入浅出的探索了Flash 与Flash 之间的自我数据交换和传递编程技巧。
关键词:RIA ;Flash ;数据交换和沟通;LocalConnection ;new SharedObject();xml中图分类号:TP317文献标识码:A 文章编号:1009-3044(2008)34-1662-03Exchange and Transfer of Flash DataLI Zhi-sheng,LI Tao(Network Engineering and Research Center,South China University of Technology,Guangzhou 510641,China)Abstract:RIA technology distinguished represents Flash it ’s not only effect is florid charming,at the same time,it also has characteristics such as powerful,compiling and composing easily,and the very strong data linking an ability up.Programming artifice exchanging and transferring the main body of a book by the concrete example ,oneself data explaining profound theories in simple language between hav -ing probed Flash and Flash.Key words:RIA;Flash;exchange and link a data up;LocalConnection;new SharedObject();xml目前,Web2.0和RIA 技术在互联网上得到充分的应用和发展,Web2.0作为新技术标兵的代名词,他带来的是信息共享方式的革新,而RIA (RICH Internet Applications 富因特网应用程序)则是对网络信息呈现方式/载体的革新,他结合了声音、视频和实时对话等等综合通信技术以及强大的数据交换能力,给人们带来了前所未有的网上用户新体验。
无可置疑,RIA 已经成为目前互联网技术发展的趋势,而Flash 目前已成为Internet 历史上最普及的RIA 软件平台,Flash 已经成功从原来单一的动画制作软件转化为富媒体程序开发软件。
Flash 具有独特的时间片段分割(TimeLine )和重组(MC 嵌套)技术,结合ActionScritp 的对象和流程控制,使得他在灵活的界面设计和动画设计中显得尤为出众,FLASH PLAYER 被业界称为最灵活、最为小巧的前台。
ActionScript 是Flash 的脚本撰写语言,它可以让应用程序以非线性方式播放,并添加无法以时间轴表示的有趣或复杂的功能。
ActionScript 目前已经发展到2.0/3.0版本,它是一种强大的、面向对象的编程语言,可以制作出极富感染力的Web 内容。
Flash 作为RIA 网络应用程序中重要的一元,具有较强的数据沟通能力,这其中包括flash 与数据库之间的沟通和swf 文件与swf 文件之间的自我沟通能力。
本文下面将通过一些实例,来研究一下swf 文件与swf 文件之间的自我沟通能力。
在实践的flash 应用中,我们有时会遇到三种需要swf 文件之间进行数据沟通的情况。
第一种是在同一个Web 页面中,一个swf 告诉另外一个swf 其目前的情况,让另外一个swf 做出反应;第二种情况是在不同的Web 页面中,一个swf 告诉下一个Web 页面的另外一个swf 要执行什么样的事情,好比有个广告,有很多不同的选择按钮,点击相应的按钮就跳转到对应的页面,并会告诉下一个swf 执行相应的操作;第三种情况是在不同的Web 页面中相同的swf ,当要保留目前Web 页面中的某些状态,并让其在下一个Web 页面出现的时候仍然能保持这种状态,这好比一个菜单,目前这位置是展开的,当页面跳转到下一个的时候,菜单还是那个菜单,但其仍然要保持展开。
我们来分析一下第一种情况:在同一个web 页面,分别在不同区域的两个swf 文件要进行数据通信,如图1所示,当swf1文件产生一个变量X ,接着这个X 按指定方式发出,swf2在接收到发来的X 变量后,马上作出相对应的反应。
对于这种情况,我们可以采用“LocalConnection ”———本地连接来完成这个功能。
使用LocalConnection 类,可以在相同浏览器运行的两个单独的swf 文件相互通信,是两个swf 文件相互传达信息的一种方式。
具体程序实现如下:swf1代码:var movie1LocalConnent =new LocalConnection();//定义连接submitButton.onRelease =function()//定义按钮{movie1LocalConnent.send ("sampleLCchannel","sendVar",dataToSend.text);//触发按钮就把数据发出};收稿日期:2008-06-17作者简介:黎志生(1974-),男,华南理工大学信息网络工程研究中心工作,助理工程师,研究方向:计算机科网络应用,新媒体交互技术;李涛(1977-),男,华南理工大学信息网络工程研究中心工作,助理工程师,研究方向:计算机科网络应用,新媒体交互技术,网络社区发展规划与管理研究。
图1ISSN 1009-3044Computer Knowledge And Technology 电脑知识与技术Vol.4,No.7,December 2008,pp.1662-1664E-mail:xsjl@ Tel:+86-551-569096356909641662软件设计开发本栏目责任编辑:谢媛媛swf1的具体功能为接受用户输入数据,发出数据填充另一swf 文件,页面效果如图2。
swf2代码:var receiving_lc:LocalConnection =new LocalConnection();//定义连接receiving_lc.sendVar =function(aVar:String)//定义接受数据的文本框{_root.incomingText_txt.text =aVar };receiving_lc.connect("sampleLCchannel");//接受数据Flash2的具体功能为接受Flash1传来的数据,页面效果如图3。
工作原理:使用本地连接从一个swf 向另一个swf 填充数据,在每个swf 中都要先实例化一个localConnection 对象,他们的共同纽带是sfw2中的connet ()方法内指定的参数,当swf1触发connect ()时,就会创建一个localConnection 对象,swf2就通过特定方式得到了数据。
第二种情况:在不同的Web 页面中,当上一页面Web1要给下面触发的页面传递数据,如图所示,Web1的swf1文件向Web2的swf2文件传递数据X ,用于显示Web1留下的信息或依照Web1的体验来定制Web2的访问形式。
如图4。
对于这种情况,通常可以利用共享对象在本地存储数据,也就是Flash cookie ,在用户端留下有效信息,为后面要访问的页面达成数据通信。
Swf1代码:var obj =new SharedObject();//定义本地共享对象on(release){obj =SharedObject.getLocal("testkookie","/");obj.data.record =2;obj.flush(100);getURL("/product06/product/product.html","_blank");}Flash1为n 个按钮的集合,每触发一个按钮就给本地共享付给一个不同的值,然后跳转页面。
Swf2代码:var sharedobj =new SharedObject();sharedobj =SharedObject.getLocal("testkookie","http://www.***.com/");//从对应路径中读出共享对象的值switch (sharedobj.data.record){case 1://trace ("case 1tested true");_root.myXML.load("01.xml");break;case 2://trace ("case 2tested true");_root.myXML.load("02.xml");break;case 3://trace ("case 3tested true");_root.myXML.load("03.xml");break;……case 17:_root.myXML.load("17.xml");break;default:_root.myXML.load("01.xml");}//sharedobj.clear();eCodepage =true;Swf2读出一个本地共享值,根据不同的值,调入对应的xml 文件,产生不同的用户体验。
工作原理:swf1通过程序在客户端建立一个共享(临时)文件,保存下一个swf2所需要的数据,而当swf2打开的时候,会自动先读入共享文件数据,根据实际数据来选择下一步动作。
第三种情况:在上面的实际应用过程中,有时还会遇到在不同的Web 页面中使用同一个Flash 产生不同用户体验或保持同一用户体验的情况,如图5所示。