Flex loaderInfo swf模块获取url传递的参数
发布时间:2020-12-15 05:03:37 所属栏目:百科 来源:网络整理
导读:Flex的模块传递参数,这里是另外一种方法,第一种方法时在加载模块的地方直接给模块传递参数。请参见 Flex ModuleLoader向Module(模块)传递参数实例 ??????第二种方法就是在被加载的模块中使用loaderInfo属性返回一个 LoaderInfo 对象,其中包含加载此显示对
Flex的模块传递参数,这里是另外一种方法,第一种方法时在加载模块的地方直接给模块传递参数。请参见Flex ModuleLoader向Module(模块)传递参数实例 ??????第二种方法就是在被加载的模块中使用loaderInfo属性返回一个 LoaderInfo 对象,其中包含加载此显示对象所属的文件的相关信息。loaderInfo 属性仅为 SWF 文件的根显示对象或已加载的位图(而不是使用 ActionScript 绘制的位图)定义。要查找与包含名为 myDisplayObject 的显示对象的 SWF 文件相关的 loaderInfo 对象,请使用 myDisplayObject.root.loaderInfo。 ????????????大的 SWF 文件可以通过调用 this.root.loaderInfo.addEventListener(Event.COMPLETE,func) 来监控其下载。 以下是使用实例. 主文件: <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" viewSourceURL="srcview/index.html"> <s:layout> <s:VerticalLayout/> </s:layout> <fx:Script> <![CDATA[ import mx.core.IVisualElement; import mx.events.ModuleEvent; import mx.modules.IModuleInfo; import mx.modules.ModuleManager; private var _moduleInfo:IModuleInfo; private function creationHandler():void { _moduleInfo = ModuleManager.getModule("com/myflexhero/MyFlexHeroTest.swf?loginName=admin&password=123456"); _moduleInfo.addEventListener( ModuleEvent.READY,moduleLoadHandler ); _moduleInfo.addEventListener( ModuleEvent.PROGRESS,onModuleProgress); _moduleInfo.load(); } private function moduleLoadHandler(event:ModuleEvent ):void { BorderContainer.addElement( _moduleInfo.factory.create() as IVisualElement); } protected function onModuleProgress (e:ModuleEvent) : void { label.text = "[MyFlexHero]:ModuleEvent.PROGRESS 当前已经加载了: " + e.bytesLoaded + " of " + e.bytesTotal + " loaded."; } ]]> </fx:Script> <s:BorderContainer id="BorderContainer" width="500" height="200" /> <s:Label id="label" text="[MyFlexHero]:"/> <s:Button label="点击加载" click="creationHandler()"/> </s:Application>
<?xml version="1.0" encoding="utf-8"?> <mx:Module xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" layout="absolute" width="100%" height="100%" creationComplete="module1_creationCompleteHandler(event)"> <fx:Script> <![CDATA[ import mx.events.FlexEvent; protected function module1_creationCompleteHandler(event:FlexEvent):void { var query:String = loaderInfo.url.toString(); query = query.replace(/.*?/,""); var params:Array = query.split( "&" ); var keyVal:Array = ( params[0] ).toString().split("="); loginName.text = keyVal[1]; keyVal = ( params[1] ).toString().split("="); password.text = keyVal[1]; } ]]> </fx:Script> <s:Panel title="MyFlexHeroTest" width="100%" height="100%"> <s:VGroup width="100%" height="100%"> <s:HGroup width="100%"> <s:Label text="用户名:" /><s:Label id="loginName"/> </s:HGroup> <s:HGroup width="100%"> <s:Label text="密码:" /><s:Label id="password"/> </s:HGroup> </s:VGroup> </s:Panel> </mx:Module> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读