此方法是在被加载的模块中使用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>
MyFlexHeroTest.mxml
<?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>
From http://www.myflexhero.com/share/flex-hero-flex4/flex-hero-components/flex-module/292
分享到:
相关推荐
总结来说,Flex的`ModuleLoader`是动态加载模块的强大工具,而通过`ModuleInfo`传递参数则使模块间的数据交互变得更加灵活。理解这一机制对于创建可扩展、可维护的Flex应用至关重要。在实际开发中,合理利用这些特性...
标题中的"flex通过URL获取request参数"指的是在Flex应用程序中解析URL查询字符串以获取用户在请求时传递的参数。例如,给定的URL `http://localhost:8080/text.mxml?myName=good&myValue=goods` 包含两个参数:`my...
该示例展示了如何使用AS3中的`LoaderInfo`类来获取嵌入SWF文件时传递的参数。 ```as package org.flashbbs.sample { import flash.display.MovieClip; import flash.display.LoaderInfo; import flash.text....
在本文中,我们将深入探讨如何在Flex应用中加载由ActionScript 2(AS2)编写的SWF文件,以及这背后的原理和技术细节。Flex是一种基于Adobe Flash Platform的开放源码框架,主要用于构建富互联网应用程序(RIA)。而...
总结,Flash AS3.0通过URL传递参数是实现Web交互的基础,无论是从Web页面向Flash传递配置信息,还是Flash向服务器发送数据,都需要熟练掌握这一技能。通过以上讲解,你应该对这一过程有了深入的理解,能够自如地应用...
`swfobject`是一个JavaScript库,用于检测Flash Player的版本、嵌入SWF文件以及传递参数。在Flex 3中,结合`swfobject`,你可以轻松地在HTML和Flex应用之间传递参数,实现更丰富的交互性。 总之,Flex 3接受外部...
1. **URL变量**: 通过在SWF文件的URL中添加查询字符串,可以向Flash传递参数。例如,`http://example.com/flash.swf?param1=value1¶m2=value2`。在Flash中,你可以使用`loaderInfo.parameters`对象来访问这些...
在SWF文件内部,可以使用`loaderInfo.parameters`对象访问这些传递的参数。 总结来说,JavaScript提供了一种有效的方法来获取HTML页面的URL参数,并能将这些参数传递给SWF对象,以便在Flash内容中使用。无论是通过...
在Flash开发中,SWF文件间的通信是一个常见的需求,特别是在构建多组件或模块化应用时。本篇文章将详细探讨如何在A.SWF加载B.SWF的过程中实现值的传递,以及B.SWF如何接收这些值。 首先,理解SWF文件加载的基本原理...
Flex Video 是一种在 Adobe Flash 和 Adobe Flex 平台上使用的视频播放组件,它允许开发者将实时视频或预录视频集成到 SWF 文件中。通过使用 Flex Video,可以创建高质量的流媒体视频体验,支持 Flash Video (FLV) ...
本文将介绍如何使用JavaScript(JS)向swf文件传递参数的几种实现方法。 首先,了解基本的参数传递机制是必要的。在嵌入swf文件时,可以使用两种主要方式来传递参数:一种是在嵌入swf时使用flashvars属性,另一种是...
1. 动态加载SWF模块,实现程序的模块化设计。 2. 实时更新内容,如在线更换广告或用户头像。 3. 加载远程数据并转换为显示对象,如XML数据加载后解析为SpriteSheet。 总结,Loader类是Flex和ActionScript 3中不可或...
Flex中的ApplicationDomain和LoaderInfo对象提供了相关的事件,如`init`, `complete`, `progress`等,通过监听这些事件,我们可以更新预加载器的状态。 3. **样式定制**:Flex支持MXML和CSS来定义界面元素的样式。...
Flex是Adobe公司开发的一种基于ActionScript的开源框架,主要用于构建富互联网应用程序(RIA)。它提供了丰富的用户界面组件和强大的数据绑定功能,使得开发者能够创建出交互性极强的Web应用。在给定的压缩包文件中...
5. **fl.system**: 包含系统级别的类,如LoaderInfo,用于加载和管理SWF或图像资源。 6. **fl.utils**: 提供了各种实用工具类,如Matrix、ColorTransform等,帮助开发者进行复杂的图形变换和颜色操作。 **使用fl....
而在AS3中,这一功能被替换为`DisplayObject.loaderInfo.parameters`,它允许你访问加载对象的参数。 2. 在Flex中,快速注释代码可以通过快捷键实现:`Shift+Ctrl+C` 用于添加块注释,`Shift+Ctrl+D` 用于移除块...
在Flex开发中,VideoDisplay组件是用于展示视频内容的核心组件,它可以播放来自各种源的视频,包括网络流、本地文件和动态流。本教程将详细讲解如何为Flex VideoDisplay组件添加背景图片,以及如何利用Flex播放器的...
`进度条控制加载进来的swf.swf`和`1.swf`是编译后的SWF文件,分别代表了最终实现进度条控制的SWF和被加载的SWF。 此外,为了实现更复杂的交互,你可能需要理解AS3.0中的`ExternalInterface`类,它允许Flash内容与...
在Flex开发中,图片显示是常见的需求,尤其是在创建用户界面或者进行数据可视化时。Flex Builder 3是一款由Adobe推出的集成开发环境(IDE),专门用于构建基于Flex的应用程序。本篇文章将详细探讨如何在Flex Builder...
Flash与ASP通信的一种常见方法是通过URL变量传递数据,例如`Flash.swf?imageURL=<%= imageURL %>`,Flash根据接收到的URL参数加载相应的图片。在Flash中,你可以用以下ActionScript代码来获取URL参数: ```...