getDefinitionByName与ApplicationDomain.getDefinition
主swf 定义:MC,被加载swf 定义:MC、MC1
①父SWF的应用程序域的新建子域 (默认方式)称其为应用程序域的继承
var app:ApplicationDomain=new ApplicationDomain(ApplicationDomain.currentDomain);
var loaderContext:LoaderContext=new LoaderContext();
loaderContext.applicationDomain=app;
如果子域中包含有与父域一样的定义(指的是完全限定名称一致,包括包路径)。那么父域中的定义会取代掉子域。
此时,被加载swf的“MC”被覆盖,两个域app、ApplicationDomain.currentDomain
访问:app.getDefinition("MC") as Class或者ApplicationDomain.currentDomain.getDefinition("MC") as Class都可以;
app.getDefinition("MC1") as Class可以;
ApplicationDomain.currentDomain.getDefinition("MC1") as Class不可以;
getDefinitionByName("MC") as Class可以;
getDefinitionByName("MC1") as Class不可以;
②子SWF 与父SWF的应用程序域合并
var app:ApplicationDomain=ApplicationDomain.currentDomain;
var loaderContext:LoaderContext=new LoaderContext();
loaderContext.applicationDomain=app;
当向一个已经存在的应用程序域合并定义时,只有与原先的域里的定义无冲突的定义才会被合并,子SWF中包含了同名的定义,会被系统域中的定义所覆盖。
此时,只有一个域:ApplicationDomain.currentDomain,被加载swf的“MC”被覆盖
访问:getDefinitionByName("MC1") as Class可以;
ApplicationDomain.currentDomain.getDefinition("MC1") as Class可以;
③系统域下的新建子域,相同的定义也不会引起冲突
var app:ApplicationDomain=new ApplicationDomain();
var loaderContext:LoaderContext=new LoaderContext();
loaderContext.applicationDomain=app;
getDefinitionByName与ApplicationDomain.getDefinition的更多相关文章
- 新人补钙系列教程之:体验ApplicationDomain 应用程序域
要说应用程序域,就不得不说安全沙箱 安全沙箱在帮助文档的解释是: 客户端计算机可以从很多来源(如外部 Web 站点或本地文件系统)中获取单个 SWF 文件.当 SWF 文件及其它资源(例如共享对象.位 ...
- [转]AS3复制可视对象
一,复制舞台上的影片剪 方法1——反射方法: var ClassRef:Class = getDefinitionByName(getQualifiedClassName(t_mc)) as Clas ...
- 隐私泄露杀手锏 —— Flash 权限反射
[简版:http://weibo.com/p/1001603881940380956046] 前言 一直以为该风险早已被重视,但最近无意中发现,仍有不少网站存在该缺陷,其中不乏一些常用的邮箱.社交网站 ...
- as3调用外部swf里的类的方法
as3项目要调用外部swf里的类有3种方法: 1.将外部的swf发布为swc,使用时将swc引用添加到相应的项目中,这应该是最简单的一种引用.不过当项目中的类或组件比较多时就会使项目发布生成的swf文 ...
- as3 Loader程序域
Loader的 load方法有两个参数 第二个参数是LoaderContext对象 LoaderContext对象里有一个applicationDomain( 程序 域)对象 设置程序域对象可以设置两 ...
- 【转】Flash字体嵌入方法
原文链接:http://www.cnblogs.com/ddw1997/archive/2011/11/13/2247546.html 一.如果使用flash cs5.5 1.先新建一个字体fla文件 ...
- [ActionScript 3.0] 动态链接库
很多时候,我们为了项目和程序结构更加清晰,需要将发布好的swf放到一个固定的地方供主文件引用,这时就会出现发布好的swf所用的as类路径发生改变,为避免这个问题,需要用到动态链接库,以下做一个简单例子 ...
- 【AS3 Coder】任务六:人物换装(纸娃娃)系统的制作
使用框架:AS3(Flash Professional CS5.0及更高版本 + Flash Buider)任务描述:了解人物换装系统的制作原理难度系数:2 本章源码下载:http://www.iam ...
- as3设计模式乱用之工厂模式
好久没写技术相关的日记了,一忙,二懒,三则被这单调的生活熏得没什么感悟. 其实这篇日记早就想写了,项目开发初期的时候,带学生.经常看到那种乱用设计模式的现象.一方面,公司面试人的时候喜欢问设计模式,另 ...
随机推荐
- 《C++ Primer 4th》读书笔记 第7章-函数
原创文章,转载请注明出处:http://www.cnblogs.com/DayByDay/p/3912413.html
- Windows环境自动获取AWR报告
1.双击awr.cmd,通过cmd窗口运行awr.sql cmd.exe /c sqlplus lcam_1230/zcpzg1z_1230@54_orcl @awr.sql awr.cmd 2.aw ...
- java transient简介
我们都知道一个对象只要实现了Serilizable接口,这个对象就可以被序列化,java的这种序列化模式为开发者提供了很多便利,我们可以不必关系具体序列化的过程,只要这个类实现了Serilizable ...
- hdu 4300(kmp)
题意:说实话这个题的题意还真的挺难懂的,我开始看了好久都没看懂,后来百度了下题意才弄懂了,这题的意思就是首先有一个字母的转换表,就是输入的第一行的字符串,就是'a'转成第一个字母,'b'转成转换表的第 ...
- 完美完全卸载Oracle 11g数据库
Oracle 11g可在开始菜单中卸载,然后同时需要删除注册表中相关内容. 操作系统:windows10专业版. 卸载步骤: 1.停用oracle服务:进入计算机管理,在服务中,找到oracle开头的 ...
- HDU 5749 Colmerauer 单调队列+暴力贡献
BestCoder Round #84 1003 分析:(先奉上zimpha巨官方题解) 感悟:看到题解单调队列,秒懂如何处理每个点的范围,但是题解的一句算贡献让我纠结半天 已知一个点的up,do ...
- 微信多媒体上传图片,创建卡券上传 LOGO
//*****************************************多媒体上传图片 begin******************************************** ...
- DataGrid的打印预览和打印
using System;using System.Drawing;using System.Collections;using System.ComponentModel;using System. ...
- 取消eclipse启动时的subclipse Usage弹窗
取消windows–>perferences–>general–>startup and shutdown里最下面的Subclipse Usage report 勾选即可
- salt 批量部署与配置
salt是啥? salt是一个大型分布式的配置管理系统(安装升级卸载软件,检测环境),也是一个远程命令执行系统. salt 分为 master和minion,master顾名思义就是老大,管理子节点: ...