apache-flex - 将 flashvars 样式的参数传递给加载的 SWF

标签 apache-flex flash actionscript-3 swfloader flashvars

我有一个 Flex 3 应用程序(播放器 v9),它加载一个 Flash SWF(AS3,也是播放器 v9),并且需要动态地将一组在运行时已知的参数传递给它。这些是通常通过 flashvars 传递的参数HTML 页面中的元素。嵌入的电影通过 loaderInfo.parameters 访问这些参数。目的。

我试过使用 SWFLoaderLoader参数传递没有成功的类。

相关详情:

  • 它是一个本地程序,不能依赖查询字符串参数。
  • 我搞砸了设置 loaderInfo.parameters["foo"] = "123"来自嵌入代码,但参数似乎永远不会出现在嵌入的电影中。
  • 我不能在嵌入的电影中放置额外的参数传递机制,因为它们是由第三方创建的。
  • 最佳答案

    在 URL 中传递此参数无济于事,因为它们是在 html-wrapper 中使用 javascript 代码获取的。
    'flashVars' 参数是使用 Application.application.parameters 获取的,因此,您必须在您的情况下手动设置这些参数。

    如果您使用 SWFLoader 加载另一个应用程序,您应该创建该对象,该对象将代表加载的应用程序并应用您需要的所有内容:

    <mx:Script>
        <![CDATA[
            import mx.managers.SystemManager;
            import mx.controls.Alert;
            import mx.events.FlexEvent;
    
            private var loadedApp:Application;
    
            private function onLoadComplete(event:Event):void {
                var smAppLoaded:SystemManager = SystemManager(event.target.content);
                smAppLoaded.addEventListener(FlexEvent.APPLICATION_COMPLETE, onLoadedAppComplete);
            }
    
            private function onLoadedAppComplete(event:FlexEvent):void {
                try {
                    loadedApp = Application(event.target.application);
                    if(!loadedApp) throw new Error();
    
                    loadedApp.parameters["param1"] = "value1";
                } catch (e:Error) {
                    Alert.show("Failed to get application loaded.", "Error", Alert.OK); 
                }
            }
    
            private function onLoadError():void {
                Alert.show("Failed to load an application.", "Error", Alert.OK);
            }
    
        ]]>
    </mx:Script>
    
    <mx:SWFLoader 
        width="100%" height="100%"
        source="./AppToLoad.swf" 
        complete="onLoadComplete(event)" 
        ioError="onLoadError()" securityError="onLoadError()" />
    

    关于apache-flex - 将 flashvars 样式的参数传递给加载的 SWF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/407858/

    相关文章:

    flash - Flex/Flash 生成器 : Proper way to reference another project?

    actionscript-3 - ActionScript 3 TransformGestureEvent 不适用于 SWF MovieClip

    apache-flex - Spark List 中的项目 Change Effect 等价物是什么?

    java - QT 与 Flex/Flash/AIR 的多媒体对比

    python - 如何使用Python在网页上显示视频?

    actionscript-3 - AS3 : Is it possible to capture stage elements or bitmap data into a netstream?

    apache-flex - Flex,获取插入的 USB 设备的 USB id

    javascript - 使用 AS3 中的参数加载外部 SWF

    apache-flex - Flex 中的时间解析

    apache-flex - Flex 是一个好的选择吗?