Flex事件机制学习-SWF间共享事件实现通信

本文展示了如何在两个SWF文件间通过共享事件进行通信,包括如何使用contentLoaderInfo的sharedEvents属性来实现跨安全边界的数据交换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    两个SWF间共享事件,那末这两个SWF就可以通过共享事件通信,例子是改动网上的,例如:

  public class Main extends Sprite
 {


  public var shared:EventDispatcher;

  public function Main()
  {

   var loader:Loader = new Loader();
   shared = loader.contentLoaderInfo.sharedEvents;


   shared.addEventListener("fromChild", fromChild);
   
   var url:String = "http://localhost:9080/lcds/Flex3007/Child.swf";
   loader.load(new URLRequest(url));
   addChild(loader);  
  }
  
  private function fromChild(event:TextEvent):void {
             trace(event.text); // Good day
             var replyMessage:TextEvent = new TextEvent("fromParent");
            replyMessage.text = "Same to you";
            shared.dispatchEvent(replyMessage);
   }
 }

 这个是使用contentLoaderInfo的属性sharedEvents, 该EventDispatcher可用于跨安全边界交换事件,从而达到通信的目地;

  http://localhost:9080/lcds/Flex3007/Child.swf

 public class Child extends Sprite
 {
  public function Child()
  {
   var shared:EventDispatcher = loaderInfo.sharedEvents;
   shared.addEventListener("fromParent", fromParent);
   
   var firstMessage:TextEvent = new TextEvent("fromChild");
   firstMessage.text = "Good Day";

   //child实例时,抛出事件信息“Good Day”
   shared.dispatchEvent(firstMessage);
  }
  
    public function fromParent(event:TextEvent):void {
                 trace(event.text); // Same to you
                var label01:TextField=new TextField();
                label01.text=event.text;
                addChild(label01);
     }
 }

运行:

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值