·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]as3.0关于LoaderContext详细介绍[安全沙箱相关](2)

时间:2012-08-24 15:22lqk1985
1.默认情况下loader的applicationDomain是子swf的applicationDomain的父。 context.applicationDomain = new ApplicationDomain(ApplicationDomain.currentDomain) 允许子swf直接使用父swf定义的class。父swf只能通

  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

相关链接:

[AS3]swf如何和网页通信?附解决安全沙箱方法
[AS3]Flash安全沙箱——安全域和程序域的介绍和应用
[AS3]as3跨域传输数据的授权文件crossdomain.xml代码示例 
[AS3]主流网站crossdomain文件写法youku/tudou/ku6/taobao/163/QQ
[AS3]as3.0允许Flash跨域加载数据swf,jpg,xml等文件
[AS3]flash跨域策略文件crossdomain.xml配置分析说明
[AS3]AllowScriptAccess与allowNetworking的用法介绍
[AS3]as3.0关于LoaderContext详细介绍[安全沙箱相关]
[AS3]as3.0跨域加载外部图片外部xml的代码示例
[AS3]如何绕开AS3安全沙箱进行跨域加载SWF文件
[AS3]as3.0跨域加载外部图片外部xml的代码示例

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器