Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex 在具有调整大小功能的新空气窗口中加载外部SWF应用程序_Apache Flex_Flash_Air - Fatal编程技术网

Apache flex 在具有调整大小功能的新空气窗口中加载外部SWF应用程序

Apache flex 在具有调整大小功能的新空气窗口中加载外部SWF应用程序,apache-flex,flash,air,Apache Flex,Flash,Air,我正试图通过SWFLoader类在Air应用程序中加载一个本地SWF应用程序。SWFLoader类将显示在新的窗口中。因此,我尝试在Flash应用程序调整大小时自动调整窗口大小。但问题是。调整加载程序应用程序的大小后,SWFLoader不会获取任何事件 问题似乎在于沙箱限制。我能够在SWFLoaders内容(加载的SWF应用程序)的LoaderInfo中设置的childSandboxBridge和parentSandboxBridge对象中调用方法。但是,当我调整加载的应用程序的大小时,我无法收

我正试图通过SWFLoader类在Air应用程序中加载一个本地SWF应用程序。
SWFLoader
类将显示在新的
窗口中。因此,我尝试在Flash应用程序调整大小时自动调整窗口大小。但问题是。调整加载程序应用程序的大小后,SWFLoader不会获取任何事件

问题似乎在于沙箱限制。我能够在SWFLoaders内容(加载的SWF应用程序)的
LoaderInfo
中设置的
childSandboxBridge
parentSandboxBridge
对象中调用方法。但是,当我调整加载的应用程序的大小时,我无法收听任何ResizeEvents或类似的内容

我知道
Loader
类和codeExecution属性的解决方法,但如果可能的话,我不想绕过Air沙箱

有人能帮我吗

提前感谢(注意:其他安全沙箱问题可能是您的问题的一部分。也就是说…) 如果设置了sandboxBridge,并且您可以像前面提到的那样通过它调用方法,那么您可以调度和侦听通过swfLoader冒泡的事件(它们确实冒泡通过)


作为测试,当加载的swf捕获其内部resizeEvent时,我会尝试调度一个测试flash.events.Event,其中bubbles=true。(默认情况下,ResizeEvents不会冒泡,可能是问题的根源)。

我找到了这种方法,将其放入childSwf:

addEventListener(Event.ADDED,added)

function added(e){
    if (root.parent.parent){
    root.parent.parent.stage.addEventListener(Event.RESIZE, mainResizeHandler);
}

function mainResizeHandler(e:Event = null):void{
    trace("width: "+stage.stageWidth+" | height"+stage.stageHeight);
}

“(ResizeEvents默认情况下不会冒泡,可能是问题的根源)。”啊,好吧,这可能确实是问题所在。我已经通过一个变通方法解决了这个问题,在这个变通方法中,我在加载的应用程序中侦听ResizeEvent,并调用一个函数在parentSandboxBridge对象中调整大小。但我会试试给你小费。谢谢