[AS3]as3.0关于LoaderContext详细介绍[安全沙箱相关](2)
1.默认情况下loader的applicationDomain是子swf的applicationDomain的父。
context.applicationDomain = new ApplicationDomain(ApplicationDomain.currentDomain)
允许子swf直接使用父swf定义的class。父swf只能通过ApplicationDomain.getDefinition()获取子swf定义的class。
重复定义的class:子swf直接使用父swf定义的class,父swf本来就只能访问自己的。两者都通过子swf的applicationDomain.getDefinition()获取子swf定义的class。
2.子swf使用和父swf相同的applicationDomain。
context.applicationDomain = ApplicationDomain.currentDomain
父子双方可以直接使用对方定义的class。
重复定义的class:使用父swf定义的,子swf定义的被忽略。怎么获取子swf定义的不知道是否可以通过getDefinition获得。
3.system domain作为子SWF的父域。
context.applicationDomain = new ApplicationDomain()
双方只能通过对方的getDefinition获得对方代码中类的定义。
不会发生冲突。
4.其他域作为子swf的父域
比如context.applicationDomain = new ApplicationDomain(ApplicationDomain.currentDomain.parentDomain.parentDomain)
只要使同一个security domain下的就行。
父swf获取子swf的applicationDomain :Loader.contentLoaderInfo.applicationDomain。
这里所谓直接使用class指ApplicationDomain.currentDomain.getDefinition()获得,不能直接使用指必须用对方的applicationDomain.getDefinition()获得。
checkPolicyFile
下载其他域的图片(非swf)时需要检查URL policy file。对swf无用,swf是通过Security.allowDomain()。
因为涉及其他域,只对load有效,对loadbytes无效。
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/system/LoaderContext.html
热门文章推荐
- [HLS]做自己的m3u8点播系统使用HTTP Live Streaming(HLS技术)
- [FMS]FMS流媒体服务器配置与使用相关的介绍
- [AS3]什么是M3U8,与HTML5的区别是什么
- AS2.0 让flash自适应全屏,并且不自动缩放
- [AS3]as3.0的sound类常用技巧整理
- [AS3]as3与ByteArray详解、ByteArray介绍、ByteArray用法
- 关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍
- [JS]分享浏览器弹出窗口不被拦截JS示例