包 | flash.events |
类 | public class ProgressEvent |
继承 | ProgressEvent Event Object |
子类 | ModuleEvent, ResourceEvent, RSLEvent, StyleEvent, VideoProgressEvent |
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
ProgressEvent.PROGRESS
和 ProgressEvent.SOCKET_DATA
。另外,在 AIR 中,当使用 NativeProcess 类向子进程发送数据或从子进程接收数据时,会调度 ProgressEvent。
相关 API 元素
公共属性
属性 | 由以下参数定义 | ||
---|---|---|---|
bubbles : Boolean [只读]
表示事件是否为冒泡事件。 | Event | ||
bytesLoaded : Number
在侦听器处理事件时加载的项数或字节数。 | ProgressEvent | ||
bytesTotal : Number
如果加载过程成功,将加载的总项数或总字节数。 | ProgressEvent | ||
cancelable : Boolean [只读]
表示是否可以阻止与事件相关联的行为。 | Event | ||
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
currentTarget : Object [只读]
当前正在使用某个事件侦听器处理 Event 对象的对象。 | Event | ||
eventPhase : uint [只读]
事件流中的当前阶段。 | Event | ||
target : Object [只读]
事件目标。 | Event | ||
type : String [只读]
事件的类型。 | Event |
公共方法
方法 | 由以下参数定义 | ||
---|---|---|---|
ProgressEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, bytesLoaded:Number = 0, bytesTotal:Number = 0)
创建一个 Event 对象,其中包含有关进度事件的信息。 | ProgressEvent | ||
[覆盖]
创建 ProgressEvent 对象的副本,并设置每个属性的值以匹配原始属性值。 | ProgressEvent | ||
用于在自定义 ActionScript 3.0 Event 类中实现 toString() 方法的实用程序函数。 | Event | ||
表示对象是否已经定义了指定的属性。 | Object | ||
检查是否已对事件调用 preventDefault() 方法。 | Event | ||
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
如果可以取消事件的默认行为,则取消该行为。 | Event | ||
表示指定的属性是否存在、是否可枚举。 | Object | ||
设置循环操作动态属性的可用性。 | Object | ||
防止对事件流中当前节点中和所有后续节点中的事件侦听器进行处理。 | Event | ||
防止对事件流中当前节点的后续节点中的所有事件侦听器进行处理。 | Event | ||
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | ||
[覆盖]
返回一个字符串,其中包含 ProgressEvent 对象的所有属性。 | ProgressEvent | ||
返回指定对象的原始值。 | Object |
公共常量
常量 | 由以下参数定义 | ||
---|---|---|---|
PROGRESS : String = "progress" [静态]
定义 progress 事件对象的 type 属性值。 | ProgressEvent | ||
SOCKET_DATA : String = "socketData" [静态]
定义 socketData 事件对象的 type 属性值。 | ProgressEvent | ||
STANDARD_ERROR_DATA : String = "standardErrorData" [静态]
定义 standardErrorData 事件对象的 type 属性的值。 | ProgressEvent | ||
STANDARD_INPUT_PROGRESS : String = "standardInputProgress" [静态]
定义 standardInputProgress 事件对象的 type 属性的值。 | ProgressEvent | ||
STANDARD_OUTPUT_DATA : String = "standardOutputData" [静态]
定义 standardOutputData 事件对象的 type 属性的值。 | ProgressEvent |
属性详细信息
bytesLoaded | 属性 |
bytesTotal | 属性 |
bytesTotal:Number
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
如果加载过程成功,将加载的总项数或总字节数。如果将进度事件调度/附加到某个 Socket 对象,则 bytesTotal 将始终为 0,除非在构造函数的 bytesTotal 参数中指定一个值。未设置来回发送的实际字节数,该字节数将由应用程序开发人员决定。
实现
public function get bytesTotal():Number
public function set bytesTotal(value:Number):void
构造函数详细信息
ProgressEvent | () | 构造函数 |
public function ProgressEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, bytesLoaded:Number = 0, bytesTotal:Number = 0)
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
创建一个 Event 对象,其中包含有关进度事件的信息。将 Event 对象作为参数传递给事件侦听器。
参数type:String — 事件的类型。可能的值是:ProgressEvent.PROGRESS 、ProgressEvent.SOCKET_DATA 、ProgressEvent.STANDARD_ERROR_DATA 、ProgressEvent.STANDARD_INPUT_PROGRESS 和 ProgressEvent.STANDARD_OUTPUT_DATA 。
| |
bubbles:Boolean (default = false ) — 确定 Event 对象是否参与事件流的冒泡阶段。
| |
cancelable:Boolean (default = false ) — 确定是否可以取消 Event 对象。
| |
bytesLoaded:Number (default = 0 ) — 在侦听器处理事件时加载的项数或字节数。
| |
bytesTotal:Number (default = 0 ) — 如果加载过程成功,将加载的总项数或总字节数。
|
方法详细信息
clone | () | 方法 |
toString | () | 方法 |
常量详细信息
PROGRESS | 常量 |
public static const PROGRESS:String = "progress"
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
定义 progress
事件对象的 type
属性值。
此事件具有以下属性:
属性 | 值 |
---|---|
bubbles | false |
bytesLoaded | 在侦听器处理事件时加载的项数或字节数。 |
bytesTotal | 如果加载进程成功,最终将加载的项目或字节总数。 |
cancelable | false ;没有要取消的默认行为。 |
currentTarget | 当前正在使用某个事件侦听器处理 Event 对象的对象。 |
target | 报告进度的对象。 |
相关 API 元素
SOCKET_DATA | 常量 |
public static const SOCKET_DATA:String = "socketData"
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
定义 socketData
事件对象的 type
属性值。
此事件具有以下属性:
属性 | 值 |
---|---|
bubbles | false |
cancelable | false ;没有要取消的默认行为。 |
currentTarget | 当前正在处理此事件的对象。 |
bytesLoaded | 在侦听器处理事件时加载的项数或字节数。 |
bytesTotal | 0;socketData 事件对象不使用此属性。 |
target | 报告进度的套接字。 |
相关 API 元素
STANDARD_ERROR_DATA | 常量 |
public static const STANDARD_ERROR_DATA:String = "standardErrorData"
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 2, Flash Lite 4 |
定义 standardErrorData
事件对象的 type
属性的值。
此事件具有以下属性:
属性 | 值 |
---|---|
bubbles | false |
cancelable | false ;没有要取消的默认行为。 |
currentTarget | 当前正在处理此事件的对象。 |
bytesLoaded | 由于此事件而由 NativeProcessObject.error 缓冲的错误数据的字节数。 |
bytesTotal | 0;standardErrorData 事件对象不使用此属性。 |
target | 报告错误数据的 NativeProcess 对象。 |
相关 API 元素
STANDARD_INPUT_PROGRESS | 常量 |
public static const STANDARD_INPUT_PROGRESS:String = "standardInputProgress"
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 2, Flash Lite 4 |
定义 standardInputProgress
事件对象的 type
属性值。
此事件具有以下属性:
属性 | 值 |
---|---|
bubbles | false |
cancelable | false ;没有要取消的默认行为。 |
currentTarget | 当前正在处理此事件的对象。 |
bytesLoaded | 由于此事件而由 NativeProcessObject.error 缓冲的错误数据的字节数。 |
bytesTotal | 0;standardInputProgress 事件对象不使用此属性。 |
target | 报告错误数据的 NativeProcess 对象。 |
相关 API 元素
STANDARD_OUTPUT_DATA | 常量 |
public static const STANDARD_OUTPUT_DATA:String = "standardOutputData"
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 2, Flash Lite 4 |
定义 standardOutputData
事件对象的 type
属性的值。
此事件具有以下属性:
属性 | 值 |
---|---|
bubbles | false |
cancelable | false ;没有要取消的默认行为。 |
currentTarget | 当前正在处理此事件的对象。 |
bytesLoaded | 由于此事件而由 NativeProcessObject.output 缓冲的输出数据的字节数。 |
bytesTotal | 0;standardOutputData 事件对象不使用此属性。 |
target | 报告输出数据的 NativeProcess 对象。 |
相关 API 元素
示例 如何使用本示例
ProgressEventExample.as
以下示例使用
ProgressEventExample
类来说明如何在下载文件时使用各种事件侦听器。该示例执行下列任务:
- 创建
downloadURL
和fileName
属性,这些属性指示下载文件的位置和名称。 - 在
ProgressEventExample
构造函数中,创建名为file
的新 FileReference 对象,再将其传递给configureListeners()
方法。 - 然后将
downloadURL
和fileName
属性传递给file.download()
,它提示要下载文件的位置。 configureListeners()
方法添加七个事件侦听器及其关联的订阅者方法:cancel
/cancelHandler()
在取消文件下载时调度。complete
/complereHandler()
在完成文件下载进程时调度。ioError
/ioErrorHandler()
在下载文件不可用或不可访问时调度。open
/openHandler()
在已开始下载操作时调度。progress
/progressHandler()
在下载进程开始时调度并在进程结束时再次调度。securityError
/securityErrorHandler
在本地播放安全性设置与下载文件的数据访问类型(本地与网络)不匹配时调度;请参阅下面的备注。select
/selectHandler()
在选择下载对象时调度。
注意:
- 您需要通过将“本地播放安全性”设置为“只访问网络文件”来编译 SWF 文件。
- 本示例需要一个名为 SomeFile.pdf 的文件。
- 尽管本示例使用了可用于 FileReference 对象的所有事件,但是在大多数情况下,只需要使用其中的一部分事件。
package { import flash.display.Sprite; import flash.events.*; import flash.net.FileReference; import flash.net.URLRequest; public class ProgressEventExample extends Sprite { private var downloadURL:String = "http://www.[yourDomain].com/SomeFile.pdf"; private var fileName:String = "SomeFile.pdf"; private var file:FileReference; public function ProgressEventExample() { var request:URLRequest = new URLRequest(downloadURL); file = new FileReference(); configureListeners(file); file.download(request, fileName); } private function configureListeners(dispatcher:IEventDispatcher):void { dispatcher.addEventListener(Event.CANCEL, cancelHandler); dispatcher.addEventListener(Event.COMPLETE, completeHandler); dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); dispatcher.addEventListener(Event.OPEN, openHandler); dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler); dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); dispatcher.addEventListener(Event.SELECT, selectHandler); } private function cancelHandler(event:Event):void { trace("cancelHandler: " + event); } private function completeHandler(event:Event):void { trace("completeHandler: " + event); } private function ioErrorHandler(event:IOErrorEvent):void { trace("ioErrorHandler: " + event); } private function openHandler(event:Event):void { trace("openHandler: " + event); } private function progressHandler(event:ProgressEvent):void { var file:FileReference = FileReference(event.target); trace("progressHandler: name=" + file.name + " bytesLoaded=" + event.bytesLoaded + " bytesTotal=" + event.bytesTotal); } private function securityErrorHandler(event:SecurityErrorEvent):void { trace("securityErrorHandler: " + event); } private function selectHandler(event:Event):void { var file:FileReference = FileReference(event.target); trace("selectHandler: name=" + file.name + " URL=" + downloadURL); } } }
Tue Jun 12 2018, 11:04 AM Z