我是ActionScript开发的新手,我尝试使用Loader加载外部SWF。
外部SWF(我称之为SWF1)也使用Loader加载另一个外部SWF(我称之为SWF2)。
SWF2使用血腥加密库的base64。因此,它使用DomainMemory来提高速度(如果我理解正确的话)。
但是,DomainMemory显然会引起一些问题,我不知道它来自哪里 我在Windows下使用FlashDevelop和Flex 4.6.0 + AIR 15.0 SDK。
这是抛出的错误:
ReferenceError:错误#1069:在flash.system.ApplicationDomain上找不到属性domainMemory,并且没有默认值。
at by.blooddy.crypto :: Base64 $ / decode()
在MethodInfo-6()
这是用于加载SWF1的代码部分,如果有帮助的话。
var loader:Loader = new Loader();
var loaderContext:LoaderContext = new LoaderContext(false, new ApplicationDomain(ApplicationDomain.currentDomain));
loaderContext.allowCodeImport = true;
loader.loadBytes(content, loaderContext);
我在Google上对这样的问题进行了一些研究,但没有发现任何问题。看起来我是唯一一个遇到过这个错误的人,真的很奇怪。
有人知道可能导致该问题的原因吗? 如果您还有其他问题,请询问。
提前致谢:)
答案 0 :(得分:0)
由于您说您不熟悉 AS3 ,因此您的主要代码可能会遗漏:
import flash.system.ApplicationDomain;
我没有使用 Flex ,但我想这一切都在<mx: script>
标签内..
<mx:Script>
import flash.system.ApplicationDomain;
//along with your other class imports here
//rest of AS3 code here
</mx:Script>
如果失败,请尝试将其设置为此类(劫持: this example )
var AD:ApplicationDomain = ApplicationDomain.currentDomain;
var context:LoaderContext = new LoaderContext( false, AD );
var loader:Loader = new Loader();
loader.loadBytes( data, context );