flex – 将flashvars样式的参数传递给加载的SWF
发布时间:2020-12-15 01:48:34 所属栏目:百科 来源:网络整理
导读:我有一个Flex 3应用程序(播放器v9)加载Flash SWF(AS3,也是播放器v9),需要动态传递一组在运行时已知的参数.这些参数通常通过 HTML页面中的flashvars元素传递.嵌入式影片通过loaderInfo.parameters对象访问这些参数. 我尝试过使用SWFLoader和Loader类,但在para
我有一个Flex 3应用程序(播放器v9)加载Flash SWF(AS3,也是播放器v9),需要动态传递一组在运行时已知的参数.这些参数通常通过
HTML页面中的flashvars元素传递.嵌入式影片通过loaderInfo.parameters对象访问这些参数.
我尝试过使用SWFLoader和Loader类,但在param传递方面没有成功. 相关细节: >这是一个本地程序,不能依赖查询字符串参数. 解决方法
在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.",Alert.OK); } ]]> </mx:Script> <mx:SWFLoader width="100%" height="100%" source="./AppToLoad.swf" complete="onLoadComplete(event)" ioError="onLoadError()" securityError="onLoadError()" /> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |