swf加载swf的一些问题

本文详细介绍了如何在SWF文件之间实现加载与交互,包括使用Security.allowDomain设置安全域、利用LoaderContext控制子SWF的安全上下文及应用域、根据不同版本ActionScript的SWF文件特性进行加载控制的方法。

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

1,swfParent 加载 swfChild,如果有交互,需要在swfChild的构造函数中添加Security.allowDomain("mydomain.com") 或者干脆"*",不过有风险。

 

2,swfChild如果是flex 生成的,由于Application中没有构造函数,没办法一开始就设置允许的domain域,只好在swfParent中Loader.load("swfChild.swf", new LoaderContext(true, null, SecurityDomain.currentDomain),把child放到parent的安全域中。有风险。

 

3,如果要使用child中的类,需要使用new LoaderContext(true, ApplicationDomain.currentDomain, SecurityDomain.currentDomain)。文档里讲的很清楚了,需要swfChild是用as3写的。

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/system/LoaderContext.html#applicationDomain

 

4,如果swfChild是as1 或as2 写的,那么加载的类型是AVM1Movie,基本无法控制,加载完成后添加到舞台多半就开始播放。如果是as3写的,则是MoiveClip,可以进行一些控制。

如果需要让swfChild在某个时候播放,可以先load完成然后不管,等到需要的时候再去load一次并添加到舞台,这样从缓存里load就快了。

 

5,有些swf添加到舞台后,会有背景色,可以在加载child的容器上使用mask,mask大小设置为loader.contentLoaderInfo.width / height。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值