適用於 Adobe® Flash® Platform 的 ActionScript® 3.0 參考
首頁  |  隱藏套件和類別清單 |  套件  |  類別  |  新增內容  |  索引  |  附錄  |  為什麼顯示英文?
篩選: 從伺服器擷取資料...
從伺服器擷取資料...
flash.events 

ProgressEvent  - AS3

套件flash.events
類別public class ProgressEvent
繼承ProgressEvent Inheritance Event Inheritance Object
子類別 ModuleEvent, ResourceEvent, RSLEvent, StyleEvent, VideoProgressEvent

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

當載入作業已開始或當通訊端已接收資料時,便會傳送 ProgressEvent 物件。這些事件通常會在 SWF 檔案、影像或資料已載入至應用程式時產生。進度事件總共有兩種類型:ProgressEvent.PROGRESSProgressEvent.SOCKET_DATA。此外,在 AIR 中使用 NativeProcess 類別將資料傳送至子處理程序或從子處理程序傳送資料時,就會傳送 ProgressEvent 物件。

檢視範例

相關 API 元素



公用屬性
 屬性定義自
 Inheritedbubbles : Boolean
[唯讀] 指出事件是否為反昇事件。
Event
  bytesLoaded : Number
偵聽程式處理事件時,載入的項目數量或位元組數。
ProgressEvent
  bytesTotal : Number
如果載入程序成功,將載入的總項目數量或位元組數。
ProgressEvent
 Inheritedcancelable : Boolean
[唯讀] 指出是否可避免與事件相關聯的行為指令。
Event
 Inheritedconstructor : Object
類別物件的參照或是特定物件實體的建構函數。
Object
 InheritedcurrentTarget : Object
[唯讀] 正主動使用事件偵聽程式處理 Event 物件的物件。
Event
 InheritedeventPhase : uint
[唯讀] 事件流程中的目前階段。
Event
 Inheritedtarget : Object
[唯讀] 事件目標。
Event
 Inheritedtype : String
[唯讀] 事件類型。
Event
公用方法
 方法定義自
  
ProgressEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, bytesLoaded:Number = 0, bytesTotal:Number = 0)
建立包含進度事件相關資訊的 Event 物件。
ProgressEvent
  
[覆寫] 建立 ProgressEvent 物件的副本,然後設定每個屬性值以符合原始物件的屬性值。
ProgressEvent
 Inherited
formatToString(className:String, ... arguments):String
公用程式函數,可用來實作自訂 ActionScript 3.0 Event 類別中的 toString() 方法。
Event
 Inherited
指出物件是否有已定義的指定屬性。
Object
 Inherited
檢查是否已經對事件呼叫 preventDefault() 方法。
Event
 Inherited
指出 Object 類別的實體是否位於指定為參數的物件原型鏈中。
Object
 Inherited
如果可以取消事件的預設行為指令,則取消該行為指令。
Event
 Inherited
指出指定的屬性是否存在,以及是否可列舉。
Object
 Inherited
為迴圈作業設定動態屬性的可用性。
Object
 Inherited
避免處理事件流程中,目前節點以及任何後續節點中的任何事件偵聽程式。
Event
 Inherited
避免處理接續在事件流程中的目前節點之後,後續節點中的任何事件偵聽程式。
Event
 Inherited
傳回代表此物件的字串,根據地區特定慣例進行格式化。
Object
  
[覆寫] 傳回包含 ProgressEvent 物件所有屬性的字串。
ProgressEvent
 Inherited
會傳回指定之物件的基本值。
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

屬性
bytesLoaded:Number

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

偵聽程式處理事件時,載入的項目數量或位元組數。



實作
    public function get bytesLoaded():Number
    public function set bytesLoaded(value:Number):void

bytesTotal

屬性 
bytesTotal:Number

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

如果載入程序成功,將載入的總項目數量或位元組數。如果 progress 事件已傳送/附加至 Socket 物件,除非已在建構函式的 bytesTotal 參數中指定值,否則 bytesTotal 將固定為 0。來回傳送的實際位元組數目並未設定,這是由應用程式開發人員決定。



實作
    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.PROGRESSProgressEvent.SOCKET_DATAProgressEvent.STANDARD_ERROR_DATAProgressEvent.STANDARD_INPUT_PROGRESSProgressEvent.STANDARD_OUTPUT_DATA
 
bubbles:Boolean (default = false) — 判斷 Event 物件是否參與事件流程的反昇階段。
 
cancelable:Boolean (default = false) — 判斷是否可以取消 Event 物件。
 
bytesLoaded:Number (default = 0) — 在偵聽程式處理事件時,載入的項目或位元組數目。
 
bytesTotal:Number (default = 0) — 如果載入程序成功,將載入的總項目數量或位元組數。
方法詳細資訊

clone

()方法
override public function clone():Event

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

建立 ProgressEvent 物件的副本,然後設定每個屬性值以符合原始物件的屬性值。

傳回值
Event — 新的 ProgressEvent 物件,其屬性值符合原始物件的屬性值。

toString

()方法 
override public function toString():String

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

傳回包含 ProgressEvent 物件所有屬性的字串。 此字串的格式如下:

[ProgressEvent type=value bubbles=value cancelable=value bytesLoaded=value bytesTotal=value]

傳回值
String — 包含 ProgressEvent 物件所有屬性的字串。
常數詳細資訊

PROGRESS

常數
public static const PROGRESS:String = "progress"

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

定義 progress 事件物件的 type 屬性值。

這個事件具有下列屬性:

屬性
bubblesfalse
bytesLoaded在偵聽程式處理事件時,載入的項目或位元組數目。
bytesTotal如果載入程序成功時,最終將載入的項目或位元組總數。
cancelablefalse;沒有要取消的預設行為指令。
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 屬性值。

這個事件具有下列屬性:

屬性
bubblesfalse
cancelablefalse;沒有要取消的預設行為指令。
currentTarget主動處理 Event 的物件。
bytesLoaded在偵聽程式處理事件時,載入的項目或位元組數目。
bytesTotal0;socketData 事件物件無法使用此屬性。
target回報進度的通訊端。

相關 API 元素

STANDARD_ERROR_DATA

常數 
public static const STANDARD_ERROR_DATA:String = "standardErrorData"

語言版本: ActionScript 3.0
執行階段版本: AIR 2, Flash Lite 4

定義 standardErrorData 事件物件的 type 屬性值。

這個事件具有下列屬性:

屬性
bubblesfalse
cancelablefalse;沒有要取消的預設行為指令。
currentTarget主動處理 Event 的物件。
bytesLoaded因為此事件,NativeProcessObject.error 緩衝的錯誤資料位元組數量。
bytesTotal0;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 屬性值。

這個事件具有下列屬性:

屬性
bubblesfalse
cancelablefalse;沒有要取消的預設行為指令。
currentTarget主動處理 Event 的物件。
bytesLoaded因為此事件,NativeProcessObject.error 緩衝的錯誤資料位元組數量。
bytesTotal0;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 屬性值。

這個事件具有下列屬性:

屬性
bubblesfalse
cancelablefalse;沒有要取消的預設行為指令。
currentTarget主動處理 Event 的物件。
bytesLoaded因為此事件,NativeProcessObject.output 緩衝的輸出資料位元組數量。
bytesTotal0;standardOutputData 事件物件無法使用此屬性。
target報告輸出資料的 NativeProcess 物件。

相關 API 元素

ProgressEventExample.as

下列範例使用 ProgressEventExample 類別,說明在檔案下載時如何使用各種不同的事件偵聽程式。 這個範例會執行下列工作:
  1. 建立 downloadURLfileName 屬性,指出下載檔案的位置和名稱。
  2. ProgressEventExample 建構函式中,會建立一個名為 file 的新 FileReference 物件,然後將其傳入 configureListeners() 方法。
  3. 接著會將 downloadURL and fileName 屬性傳入 file.download(),以提示下載檔案的位置。
  4. configureListeners() 方法會加入七個事件偵聽程式及其相關聯的訂閱者方法:
    1. 如果取消下載檔案的話,就傳送 cancel/cancelHandler()
    2. 如果檔案下載程序已完成,就傳送 complete / complereHandler()
    3. 如果無法使用或存取要下載的檔案,就傳送 ioError / ioErrorHandler()
    4. 當下載作業已開始,就傳送 open / openHandler()
    5. 當下載程序開始,以及當下載程序結束時,就傳送 progress / progressHandler()
    6. 若本機播放安全性設定與下載檔案的資料存取類型 (本機和網路) 不相符,就傳送 securityError / securityErrorHandler
    7. 當下載物件已選取,就傳送 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);
        }
    }
}




[ X ]為什麼顯示英文?
「ActionScript 3.0 參考」的內容是以英文顯示

並非所有「ActionScript 3.0 參考」的內容都翻譯為所有語言。當語言元素未翻譯時,就會以英文顯示。例如,ga.controls.HelpBox 類別並沒有翻譯為任何語言。因此在參考的繁體中文版本中,ga.controls.HelpBox 類別就會以英文顯示。