套件 | flash.events |
類別 | public class HTTPStatusEvent |
繼承 | HTTPStatusEvent Event Object |
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
HTTPStatusEvent 物件一律會在錯誤或完成事件發生前傳送出去。 HTTPStatusEvent 物件不一定就代表發生錯誤狀況;而只是單純地反映出網路堆疊所提供的 HTTP 狀態碼 (如果存在的話)。 某些 Flash Player 環境可能無法偵測到 HTTP 狀態碼;在這些情況下會一律報告狀態碼為 0。
在 Flash Player 中,HTTPStatus 事件的類型只有一種:httpStatus
。在 AIR 執行階段中,您可以註冊 FileReference、URLLoader 或 URLStream 以偵聽 httpResponseStatus
,它包含 responseURL
和 responseHeaders
屬性。這些屬性在 httpStatus
事件中都尚未定義。
屬性 | 定義自 | ||
---|---|---|---|
bubbles : Boolean [唯讀]
指出事件是否為反昇事件。 | Event | ||
cancelable : Boolean [唯讀]
指出是否可避免與事件相關聯的行為指令。 | Event | ||
constructor : Object
類別物件的參照或是特定物件實體的建構函數。 | Object | ||
currentTarget : Object [唯讀]
正主動使用事件偵聽程式處理 Event 物件的物件。 | Event | ||
eventPhase : uint [唯讀]
事件流程中的目前階段。 | Event | ||
redirected : Boolean
指出要求是否已重新導向。 | HTTPStatusEvent | ||
responseHeaders : Array
回應所傳回 (做為 URLRequestHeader 物件的陣列) 的回應檔頭。 | HTTPStatusEvent | ||
responseURL : String
傳回回應的 URL。 | HTTPStatusEvent | ||
status : int [唯讀]
伺服器傳回的 HTTP 狀態碼。 | HTTPStatusEvent | ||
target : Object [唯讀]
事件目標。 | Event | ||
type : String [唯讀]
事件類型。 | Event |
方法 | 定義自 | ||
---|---|---|---|
HTTPStatusEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, status:int = 0, redirected:Boolean = false)
建立包含 HTTP 狀態事件特定資訊的 Event 物件。 | HTTPStatusEvent | ||
[覆寫]
建立 HTTPStatusEvent 物件的副本,然後設定每個屬性值以符合原始物件的屬性值。 | HTTPStatusEvent | ||
公用程式函數,可用來實作自訂 ActionScript 3.0 Event 類別中的 toString() 方法。 | Event | ||
指出物件是否有已定義的指定屬性。 | Object | ||
檢查是否已經對事件呼叫 preventDefault() 方法。 | Event | ||
指出 Object 類別的實體是否位於指定為參數的物件原型鏈中。 | Object | ||
如果可以取消事件的預設行為指令,則取消該行為指令。 | Event | ||
指出指定的屬性是否存在,以及是否可列舉。 | Object | ||
為迴圈作業設定動態屬性的可用性。 | Object | ||
避免處理事件流程中,目前節點以及任何後續節點中的任何事件偵聽程式。 | Event | ||
避免處理接續在事件流程中的目前節點之後,後續節點中的任何事件偵聽程式。 | Event | ||
傳回代表此物件的字串,根據地區特定慣例進行格式化。 | Object | ||
[覆寫]
傳回包含 HTTPStatusEvent 物件所有屬性的字串。 | HTTPStatusEvent | ||
會傳回指定之物件的基本值。 | Object |
常數 | 定義自 | ||
---|---|---|---|
HTTP_RESPONSE_STATUS : String = "httpResponseStatus" [靜態]
與 httpStatus 事件不同,httpResponseStatus 事件在傳送任何回應資料之前會行先傳送。 | HTTPStatusEvent | ||
HTTP_STATUS : String = "httpStatus" [靜態]
HTTPStatusEvent.HTTP_STATUS 常數會定義 httpStatus 事件物件的 type 屬性值。 | HTTPStatusEvent |
redirected | 屬性 |
responseHeaders | 屬性 |
responseURL | 屬性 |
status | 屬性 |
status:int
[唯讀] 語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
伺服器傳回的 HTTP 狀態碼。 例如,404 的值即表示找不到符合所要求之 URI 的伺服器。 您可以在 HTTP 規格的 10.4 及 10.5 小節 http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html 找到 HTTP 狀態碼。
如果 Flash Player 或 AIR 無法從伺服器取得狀態碼,或者無法與伺服器通訊,便會將預設值 0 傳遞給您的程式碼。任何播放程式都可能產生 0 這個值 (例如,如果是要求格式不正確的 URL),而當 Flash Player 外掛程式執行於下列瀏覽器 (這些瀏覽器不會將 HTTP 狀態碼傳遞給播放程式) 時,也一定會產生 0 這個值: Macintosh 的 Netscape、Mozilla、Safari、Opera 和 Internet Explorer。
實作
public function get status():int
HTTPStatusEvent | () | 建構函式 |
public function HTTPStatusEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, status:int = 0, redirected:Boolean = false)
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
建立包含 HTTP 狀態事件特定資訊的 Event 物件。 Event 物件會當做參數傳遞至事件偵聽程式。
參數type:String — 事件類型。事件偵聽程式可以透過繼承的 type 屬性來存取此資訊。HTTPStatus 事件只有一種類型:HTTPStatusEvent.HTTP_STATUS 。
| |
bubbles:Boolean (default = false ) — 判斷 Event 物件是否參與事件流程的反昇階段。事件偵聽程式可以透過繼承的 bubbles 屬性來存取此資訊。
| |
cancelable:Boolean (default = false ) — 判斷是否可以取消 Event 物件。事件偵聽程式可以透過繼承的 cancelable 屬性來存取此資訊。
| |
status:int (default = 0 ) — 數值狀態。 事件偵聽程式可以透過 status 屬性來存取此資訊。
| |
redirected:Boolean (default = false ) — 要求是否已重新導向。事件偵聽程式可以透過 redirected 屬性來存取此資訊。
|
相關 API 元素
clone | () | 方法 |
toString | () | 方法 |
HTTP_RESPONSE_STATUS | 常數 |
public static const HTTP_RESPONSE_STATUS:String = "httpResponseStatus"
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Lite 4 |
與 httpStatus
事件不同,httpResponseStatus
事件在傳送任何回應資料之前會行先傳送。此外,httpResponseStatus
事件也包含 responseHeaders
和 responseURL
屬性的值 (尚未針對 httpStatus
事件而定義)。請注意,httpResponseStatus
(如果有的話) 將在 (另外) 任何 complete
或 error
事件之前傳送。
HTTPStatusEvent.HTTP_RESPONSE_STATUS
常數會定義 httpResponseStatus
事件物件的 type
屬性值。
這個事件具有下列屬性:
屬性 | 值 |
---|---|
bubbles | false |
cancelable | false ;沒有要取消的預設行為指令。 |
currentTarget | 正主動使用事件偵聽程式處理 Event 物件的物件。 |
responseURL | 傳回回應的 URL。 |
responseHeaders | 回應所傳回 (做為 URLRequestHeader 物件的陣列) 的回應檔頭。 |
status | 伺服器傳回的 HTTP 狀態碼。 |
redirected | 回應是否為重新導向的結果。 |
target | 接收 HTTP 狀態碼的網路物件。 |
相關 API 元素
HTTP_STATUS | 常數 |
public static const HTTP_STATUS:String = "httpStatus"
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
HTTPStatusEvent.HTTP_STATUS
常數會定義 httpStatus
事件物件的 type
屬性值。
這個事件具有下列屬性:
屬性 | 值 |
---|---|
bubbles | false |
cancelable | false ;沒有要取消的預設行為指令。 |
currentTarget | 正主動使用事件偵聽程式處理 Event 物件的物件。 |
status | 伺服器傳回的 HTTP 狀態碼。 |
target | 接收 HTTP 狀態碼的網路物件。 |
相關 API 元素
httpStatusHandler
事件,以指出找不到該檔案。 httpStatusHandler
事件由 httpStatusHandler()
處理,會簡單地列出兩行與事件相關的資訊。
注意:
- 您必須將「本機播放安全性」設定為「只存取網路」,才能在此範例中產生
securityError
事件。 - 您需要有一部伺服器,提供 http://www.[yourDomain].com,並在連接埠 80 上偵聽,否則您將會接收具有代碼 0 而非 404 的
httpStatusHandler
事件。 - 在 http://www.[yourDomain].com 網頁的根目錄中,不可以有名為 MissingFile.html 的檔案,否則將無法接收到正確的
httpStatusHandler
事件。
package { import flash.display.Sprite; import flash.net.URLLoader; import flash.net.URLRequest; import flash.events.HTTPStatusEvent; public class HTTPStatusEventExample extends Sprite { public function HTTPStatusEventExample() { var loader:URLLoader = new URLLoader(); loader.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler); var request:URLRequest = new URLRequest("http://www.[yourDomain].com/MissingFile.html"); loader.load(request); } private function httpStatusHandler(event:HTTPStatusEvent):void { trace("httpStatusHandler: " + event); trace("status: " + event.status); } } }
Tue Jun 12 2018, 03:47 PM Z