[ActionScript 3.0] AS3.0 Loader加载子swf时是否需要指定新的应用程序域ApplicationDomain...

实际应用中, Loader加载子swf时是否需要指定新的应用程序域ApplicationDomain,需要择情况而定。

1、如果在本地将项目位置添加到flashplayer受信任位置(上一篇文章所述),当加载的子swf中有流存在时,比如视频或者声音,则最好需要指定新的应用程序域ApplicationDomain,如果没有指定,调用_ldr.unloadAndStop();时无法将子swf中的流从内存中卸载掉,代码如下:

var ldr:Loader = new Loader();
var context:LoaderContext = new LoaderContext();
context.applicationDomain = new ApplicationDomain();
ldr.load(new URLRequest("子swf地址"),context);

如果没将项目位置设置为受信任位置,则调用_ldr.unloadAndStop()无影响,但有可能调试的时候会有安全沙箱问题。

2、当加载的子swf中不存在流,但需要用自定义事件和其他swf通信时,就不能指定新的应用程序域,一旦指定,即子swf存在自己的程序域,则无法与其他swf(包括父级swf)通过自定义事件进行通信。

var ldr:Loader = new Loader();
var context:LoaderContext = new LoaderContext();
context.applicationDomain = ApplicationDomain.currentDomain;
ldr.load(new URLRequest("子swf地址"),context);
//ldr.load(new URLRequest("子swf地址"));

 

转载于:https://www.cnblogs.com/frost-yen/p/5141784.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值