我们有两个应用程序(不是模块,两个独立的应用程序!):A
和B
. 两者都是 Parsley 管理的,我们希望使用 SWFLoader 嵌入B
(A
但是,我强调,我们不想使用 Parsley“连接”这些应用程序,我们只想进行正常的 Flash 嵌入)。
那是嵌入代码:
<fx:Script>
<![CDATA[
[Bindable]
private var childDomain:ApplicationDomain =
new ApplicationDomain(ApplicationDomain.currentDomain);
]]>
</fx:Script>
<mx:SWFLoader width="100%" height="100%" source="B.swf"
complete="initNestedAppProps(SWFLoader(event.currentTarget).content);"
loaderContext="{new LoaderContext(false, childDomain, SecurityDomain.currentDomain)}"/>
当我嵌入B
一个没有 Parsley 的虚拟应用程序时,它就可以工作。
但是,当我在实时应用程序中复制粘贴嵌入代码时A
,Parsley 会抛出这个著名的错误:
ReferenceError: Specified ApplicationDomain does not contain the class _B_mx_managers_SystemManager
即使包含嵌入代码的视图不是 Parsley 配置的(并且没有<Configure/>
标签)。
不幸的是,我无法在 Parsley 论坛上发布此内容,谷歌搜索也没有帮助,因为似乎人们不经常进行应用程序嵌入。
所以问题是,为什么会发生这个错误(Parsley 不应该关心嵌入式应用程序中的东西,不是吗?)以及如何告诉 Parsley 正确使用 my childDomain
?