为了监视加载的进度,URLLoader对象处理文件加载时,FlashPlayer会提供了许多事件。
Ø complete在对所有已接收数据进行解码并将其放在URLLoader对象的data属性中以后调度。
Ø httpStatus若对URLLoader.load()的调用尝试通过HTTP访问数据并且当前的FlashPlayer环境能够检测并返回该请求的状态代码,则进行调度。
Ø ioError若对URLLoader.load()的调用导致致命错误并因此终止了下载,则进行调度。
Ø open在调用URLLoader.load()方法之后开始下载操作时调度。
Ø progress在下载操作过程中收到数据时调度。
Ø securityError若对URLLoader.load()的调用尝试从安全沙箱外部的服务器加载数据,则进行调度。
下面的代码通过响应加载完成事件,尝试输出URLLoader对象中的data信息,即所加载文本的内容。
//sample.txt
sample text in a txt file.
//FLA
var myld:URLLoader=new URLLoader();
//加载外部文本
myld.load(new URLRequest("sample.txt"));
myld.addEventListener(Event.COMPLETE,loadcomplete);
//输出相关信息
trace(myld.dataFormat);
trace(String(myld.data));
function loadcomplete(ea:Event):void{
trace(String(myld.data));
}
代码执行后的输出为:
text
undefined
sample text in a txt file.
如果dataFormat属性是URLLoaderDataFormat.TEXT,则所接收的数据是一个包含已加载文件文本的字符串。如果是URLLoaderDataFormat.BINARY,则所接收的数据是一个包含原始二进制数据的ByteArray对象。如果dataFormat属性是URLLoaderDataFormat.VARIABLES,则所接收的数据是一个包含URL编码变量的URLVariables对象。