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

深入理解Flash Player的应用程序域(Application Domains)

时间:2011-09-07 17:52riaoo.com
和安全域一样,不同安全沙箱下的SWF有着自己独立的类定义。这种在安全域下面进行划分和管理类定义(函数、接口和命名空间的定义也类似)的子域就是应用程序域。应用程序域只存在于安全域内,并且只能属于唯一的一个安全域。但是安全域可以包含多个应用程序域

这篇是《深入理解Flash Player的安全域(Security Domains)》的下文。转载过来备份一下。原文地址:http://kevincao.com/2010/11/application-domains/

目录

Application Domains 应用程序域

和安全域一样,不同安全沙箱下的SWF有着自己独立的类定义。这种在安全域下面进行划分和管理类定义(函数、接口和命名空间的定义也类似)的子域就是应用程序域。应用程序域只存在于安全域内,并且只能属于唯一的一个安全域。但是安全域可以包含多个应用程序域。


安全域内的应用程序域

虽然安全域沙箱用于保护数据安全,应用程序沙箱域用于划分定义。但是他们都用于解决定义的冲突和判断代码的继承关系。

安全域彼此之间是相互独立的,相比之下,应用程序域之间的关系则较为复杂。应用程序域通过类似于Flash中的显示列表那样的层级关系链接在一起。应用程序域可以包含任意的子域,而子域只能有一个父域。子域继承了来自父域中的定义,就像是显示列表中父对象的位置和缩放属性被子对象继承一样。

应用程序域的根节点是一个系统域,这个域包含了Flash Player API的原生定义(Array,XML,flash.display.Sprite等等)。系统域与安全域是一一对应的关系,当安全域初始化的时候这个唯一的系统域也被建立。

当一个Flash Player的实例初始化的时候,SWF文件加到它对应的安全域内。同时也创建了一个包含了这个文件中所有编译过的ActionScript定义的应用程序域。这个应用程序域就成为安全域下的系统域的第一个子域。Flash Player API的原生定义就通过这种继承关系对所有子域开放。


在系统域下新建了一个SWF应用程序域

我们将在应用程序域的继承章节中进行更多关于继承的讨论。

 

相关链接:

[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的代码示例

热门文章推荐

请稍候...

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

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