关于flash/flex的程序域
subject of application domain of flash and air.
在flash或flex中,程序加载外部swf文件,该文件的程序域默认为主程 序域的一个子域中。比如你使用A.swf加载B.swf文件,B被加载后,成为A程序域的一个子域,子域是申明类的时,不能覆盖父类已申明类:如果A中定 义了类com.sogou.Map类,同时B中也定义了com.sogou.Map类,但是当B加入到A的程序域时,先检查A程序域中是否已存在一个类。 如果存在,则使用该已存在类,否则申明属于B子程序域的类。当然也可以将B不加载到默认域中,而是新建一个域:
var loader:Loader = new Loader();
var context:LoaderContext = new LoaderContext();
context.applicationDomain = new ApplicationDomain();
loader.load(new URLRequest(”B.swf”), context);
同时,A可以使用B程序域中的类:
var bDomain:ApplicationDomain = loader.contentLoaderInfo.applicationDomain;
if (bDomain.hasDefinition(”com.sogou.map::JustForB”)) {
//判断一个程序域中是否已定义一个类
var bc:class = bDomain.getDefinition(”com.sogou.map::JustForB”) as class;
var bcInst:Object = new bc();
}
然后便可使用在B中定义的类JustForB类。当然B亦可使用A程序域中的类,前提是B的域为A程序域的一个子域,B可以直接使用。
再就是,将B加载加入到当前程序域中:
var loader:Loader = new Loader();
var context:LoaderContext = new LoaderContext();
context.applicationDomain = ApplicationDomain.currentDomain;
loader.load(new URLRequest(”B.swf”), context);
此时A和B的可以直接使用任何方所定义的任何类了(当然后定义的类不能覆盖先定义的类,即B中的com.sogou.map.Map不能覆盖A中的com.sogou.map.Map,二者任何地方使用的Map类都将来自A的定义。)
相关文档:
处境堪忧的Adobe Flash将面临另一次打击,在线文档最终也开始表明立场。目前网上大部分文档(PDF、Word文档、幻灯片)只能在Flash播放器内部播放,无法显 示为完整的网页。明天在线文档分享网站Scribd上的数百万份文档不再使 用Flash播放,而是将转化为本地HTML5网页。这些文档不仅可以在iPad上完美显示 ......
用过FLEX中String类型的朋友可能知道,replace这个方法并不过替换所有内容。那么我们需要替换所有内容怎么办?只有自己动手,丰衣足食咯,呵呵。言归正专,有两种方法,一种是利用Array的方式,另一种是利用正则去替换。
/**
* StringReplaceAll
* @param source:String 源数据
* @param find:String 替换对象 ......
《Flex SDK 4(Gumbo)浅析ASDoc - Flash Builder 4配置篇》介绍了如何在Flash Builder 4里面配置、运行ASDoc。
本篇文章介绍一些比较常用的ASDoc Tags,只有搞清楚了如何使用ASDoc Tags才能让我们生成一些我们想要的ASDoc文档。
我在这里只列举了一些比较常用的ASDoc Tags:
@param paramName d ......
本文共两个文件:translate.mxml 和 mapmarking.xml
1、translate.mxml
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="librar ......
Flash OBJECT和EMBED标签详解
Flash OBJECT和EMBED标签
一、介绍:
我们要在网页中正常显示flash内容,那么页面中必须要有指定flash路径的标签。也就是OBJECT和EMBED标签。OBJECT标签是用于windows平台的IE浏览器的,而EMBED是用于windows和Macintosh平台下的Netscape Navigator浏览器以及Macintosh平台下的IE浏览器。 ......