跨SWF脚本调用的简单探究

本文探讨了在Flash环境中如何进行跨SWF脚本调用来控制子SWF的运动,涉及ApplicationDomain、SecurityDomain和安全问题。通过一个实例展示了如何在严格模式下解决加载和运行子SWF动画的问题,解释了Security.allowDomain()和crossDomain.xml的区别,并提到了SharedEvent在跨SWF交互中的应用。

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

前几天有同事做坐骑相关的工作时问了相关的问题,大意是一个子SWF动画文件,在第一帧上面写了stop(),如何在加载进来后调用让其开始运动?

深入研究了一下相关的API文档,发现其实比较简单的,但是涉及到应用程序域ApplicationDomain与安全域SecurityDomain,跨SWF调用时如果处理不好可能会有安全问题

我也是看了kevinCao翻译的文章后才稍微明白了点。网址如下:

http://kevincao.com/2010/11/security-domains/

其中讲了fp沙箱的作用:1.安全考虑2,使用沙箱来避免命名冲突的问题

Security.allowDomain()与crossDomain.xml的区别,以及ApplicationDomain是SecurityDomain的一部分,

其中对使用SharedEvent来进行跨SWF脚本调用还讲了一些,文档中SharedEvent相关联的类有ShaderJob,就是用ShaderJob来使PixelBender与fp主线程异步执行,Away3d 4.X里对于pixel bender的Shader好像就是这么做的。


下面是我的测试:

打开Flash pro新建一个文档命名为fuck1.fla,在其中创建动画并在第一帧上写上stop()之后生成swf文件,如下图:


创建一个文档命名为fuck2.fla,在其中写上对应加载代码,关键是第七行,之后编译会发现报错

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值