this is a extra element for clear the floated element
使用LocalConnection数据通信
  • 12/31
  • 2008
制作技巧 | 网页设计 1451 次查看
   有时候需要在二个或者多的swf文件之间进行数据交换,比如你可能需要当用户点击 导航栏的每个链接之后,相应的主体swf显示相关内容,而这时,这二个相关的不是 在同一个swf文件中,这时候 需要使用LocalConnection.

  LocalConnection 可以在flash6 中使用,当安装过flashcom之,LocalConnection 出现在动作面板的Communication ↓LocalConnection.LocalConnection的标识名称是_lc如下图所示:


  使用LocalConnection数据通信

  但是使用LocalConnection ,并不一定需要flashcom,它可以单独使用,或者和flashcom 等一起使用.LocalConnection有一个构造器和四个方法,二个事件. 先来看一个绝对是本地连接的代码.

  

//要想使用LocalConnection连接对象,必须有一个LocalConnection对象.

  var 链接=new LocalConnection();

  //loadvars
xml XMLSocket等通常连接一个网域(uri),本地连接比较简单,使用任意名字.仅是一个标识.

  链接.connect("连接名字");

  //在LocalConnection对象下定义一个方法,供LocalConnection.send调用.和NetStream.send等相似.

  链接.方法=function (参数) {

  trace(参数);}

  //调用已经定义的方法.

  链接.send("连接名字","方法","输出这个参数");

  //输出: 输出这个参数


  下面看一个例子,页面内部传递消息:

  新建一个文件大小为300*200,放一个发布按钮和二个文本框(名称分别为输入框 显示框),在时间线的第一

  桢加入以下代码.


  

//新建一个连接对象

  连接对象=new LocalConnection();

  //连接到swfa 文件2连接到swfa,需要注意的是命名不能含有特殊字符,命名也不能含有数字,因为会造成工作不稳定

  连接对象.connect("swfa");

  //发送消息

  btn.onPress= function 发送消息() {

  //文件2发送消息到 连接对象.send("swfa","接收消息",输入框.text);

  连接对象.send("swfb","接收消息",输入框.text);}

  //接收消息

  连接对象.接收消息=function (消息) { 显示框.text=显示框.text+ newline+ 消息; }


  文件1:

  

  

  
  bgcolor=#FFFFFF WIDTH="300" HEIGHT="200" NAME="send2load2" ALIGN=""

  TYPE="application/x-shockwave-flash"

  PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer">


  文件2:

  

  

  
  bgcolor=#FFFFFF WIDTH="300" HEIGHT="200" NAME="send2load" ALIGN=""

  TYPE="application/x-shockwave-flash"

  PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer">


  最后,简单介绍一下LocalConnection其他的方法事件资料:

  close([连接名字]) 关闭一个连接(最近使用的连接)

  domain()方法 参数无,返回一个本地域.

  .onStatus([infoObject])事件 当LocalConnection状态变化的时候,比如错误等.触发这个事件.

  .allowDomain([domain])事件 当LocalConnection收到一个连接请求或者发送.或者调用方法 或者接收时候自动发生.

您可能感兴趣的:

更多相关内容