套件 | flash.net |
類別 | public class URLStream |
繼承 | URLStream EventDispatcher Object |
實作 | IDataInput |
子類別 | AVURLStream |
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
URLStream 中的讀取作業是非阻隔式。 這表示您必須使用 bytesAvailable
屬性來判斷是否有足夠的可用資料,然後再讀取資料。 如果沒有足夠的可用資料,就會擲回 EOFError
例外。
根據預設,所有二進位資料都會使用 Big-Endian 格式編碼,而且是最高位元組在前。
套用至使用 URLStream 類別之 URL 下載的安全性規則與套用至 URLLoader 物件的規則完全相同。 原則檔會視需要下載。 本機檔案安全性規則會強制套用,而且安全性警告會視需要提出。
相關 API 元素
屬性 | 定義自 | ||
---|---|---|---|
bytesAvailable : uint [唯讀]
會傳回可在輸入緩衝區中讀取之資料的位元組數。 | URLStream | ||
connected : Boolean [唯讀]
指出此 URLStream 物件目前是否已連線。 | URLStream | ||
constructor : Object
類別物件的參照或是特定物件實體的建構函數。 | Object | ||
endian : String
表示資料的位元組順序。 | URLStream | ||
objectEncoding : uint
會控制寫入或讀取物件時使用的 Action Message Format (AMF) 版本。 | URLStream |
方法 | 定義自 | ||
---|---|---|---|
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
會在 EventDispatcher 物件註冊事件偵聽程式,以便讓偵聽程式收到事件的通知。 | EventDispatcher | ||
會立即關閉串流並取消下載作業。 | URLStream | ||
會將事件傳送到事件流程。 | EventDispatcher | ||
會檢查 EventDispatcher 物件是否有對特定的事件類型註冊偵聽程式。 | EventDispatcher | ||
指出物件是否有已定義的指定屬性。 | Object | ||
指出 Object 類別的實體是否位於指定為參數的物件原型鏈中。 | Object | ||
開始下載 request 參數中指定的 URL。 | URLStream | ||
指出指定的屬性是否存在,以及是否可列舉。 | Object | ||
會從串流讀取 Boolean 值。 | URLStream | ||
會從串流讀取具有正負號的位元組。 | URLStream | ||
從串流讀取資料的 length 位元組。 | URLStream | ||
會從串流讀取 IEEE 754 雙精度浮點數。 | URLStream | ||
會從串流讀取 IEEE 754 單精度浮點數。 | URLStream | ||
會從串流讀取具有正負號的 32 位元整數。 | URLStream | ||
會使用指定的字元集,從位元組串流讀取指定之長度的多位元組字串。 | URLStream | ||
readObject():*
會從通訊端讀取物件,以 Action Message Format (AMF) 編碼。 | URLStream | ||
會從串流讀取具有正負號的 16 位元整數。 | URLStream | ||
會從串流讀取無正負號的位元組。 | URLStream | ||
會從串流讀取無正負號的 32 位元整數。 | URLStream | ||
會從串流讀取無正負號的 16 位元整數。 | URLStream | ||
會從串流讀取 UTF-8 字串。 | URLStream | ||
從串流讀取 length UTF-8 位元組的序列,然後傳回字串。 | URLStream | ||
會從 EventDispatcher 物件移除偵聽程式。 | EventDispatcher | ||
為迴圈作業設定動態屬性的可用性。 | Object | ||
傳回代表此物件的字串,根據地區特定慣例進行格式化。 | Object | ||
會傳回指定之物件的字串形式。 | Object | ||
會傳回指定之物件的基本值。 | Object | ||
檢查此 EventDispatcher 物件是否已註冊事件偵聽程式,或者此物件的任何祖系已為特定事件類型註冊事件偵聽程式。 | EventDispatcher |
事件 | 摘要 | 定義自 | ||
---|---|---|---|---|
[廣播事件] 當 Flash Player 或 AIR 應用程式取得作業系統焦點並成為作用中時傳送。 | EventDispatcher | |||
在順利載入資料時傳送。 | URLStream | |||
[廣播事件] 當 Flash Player 或 AIR 應用程式失去作業系統焦點並成為非作用中時傳送。 | EventDispatcher | |||
當 URLStream.load() 方法呼叫嘗試透過 HTTP 存取資料,而且 Adobe AIR 能夠偵測並傳回要求的狀態碼時傳送。 | URLStream | |||
當 URLStream.load() 呼叫嘗試透過 HTTP 存取資料,而且 Flash Player 或 Adobe AIR 能夠偵測並傳回要求的狀態碼時傳送。 | URLStream | |||
發生輸入/輸出錯誤,因而導致載入作業失敗時傳送。 | URLStream | |||
在載入作業開始時傳送。 | URLStream | |||
在下載作業進行中收到資料時傳送。 | URLStream | |||
當 URLStream.load() 的呼叫嘗試從安全執行程序以外的伺服器載入資料時傳送。 | URLStream |
bytesAvailable | 屬性 |
connected | 屬性 |
endian | 屬性 |
objectEncoding | 屬性 |
close | () | 方法 |
load | () | 方法 |
public function load(request:URLRequest):void
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
會開始下載 request
參數中指定的 URL。
注意: 如果正在下載的檔案包含非 ASCII 字元 (例如,許多非英文語系字元),建議您將檔案儲存為 UTF-8 或 UTF-16 編碼,而不要儲存為類似 ASCII 的非 Unicode 格式。
如果載入作業立即失敗,就會擲回描述失敗的 IOError 或 SecurityError (包括本機檔案安全性錯誤) 例外; 否則,如果 URL 下載順利開始下載,便會傳送 open
事件,或者在發生錯誤時會傳送錯誤事件。
根據預設,呼叫的 SWF 檔與您所載入的 URL 必須位於完全相同的網域中。例如,www.adobe.com 的 SWF 檔只能從同樣在 www.adobe.com 中的來源載入資料。 若要從不同的網域載入資料,請在存放該資料的伺服器上放置一個 URL 原則檔案。
您無法從 Flash Player 連線到常用的保留連接埠。完整的封鎖連接埠清單,請參閱在「ActionScript 3.0 開發人員指南」中的「限制網路 API」。
在 Flash Player 中,如果您希望防止 SWF 檔使用此方法,可以在包含 SWF 內容的 HTML 頁面中,設定 object
和 embed
標籤的 allowNetworking
參數。
在 Flash Player 10 和 AIR 1.5 及其更新版本,如果您使用包含上載 (由 POST 主體中 "content-disposition" 檔頭的 "filename" 參數指示) 的多部分 Content-Type (例如 "multipart/form-data"),POST 作業會受限於上載所套用的安全性規則:
- 必須執行 POST 作業,以回應使用者啟動的動作 (例如按下滑鼠或按下按鍵)。
- 如果 POST 作業會跨越網域 (POST 目標與傳送 POST 要求的 SWF 檔不在同一部伺服器上),目標伺服器必須提供允許跨網域存取的 URL 原則。
此外,多部分的 Content-Type 語法必須有效 (符合 RFC2046 標準)。如果語法無效,POST 作業會受限於上載所套用的安全性規則。
這些規則僅適用於非應用程式安全執行程序中的 AIR 內容。但在 Adobe AIR 中,位於應用程式安全執行程序的內容 (使用 AIR 應用程式所安裝的內容) 沒有這些安全性限制。
如需安全性詳細資訊,請參閱「Flash Player 開發人員中心」主題:安全性。
在 AIR 中,URLRequest 物件能夠註冊 httpResponse
狀態事件。與 httpStatus
事件不同,httpResponseStatus
事件在傳送任何回應資料之前會行先傳送。此外,httpResponseStatus
事件也包含 responseHeaders
和 responseURL
屬性的值 (尚未針對 httpStatus
事件而定義)。請注意,httpResponseStatus
(如果有的話) 將在 (另外) 任何 complete
或 error
事件之前傳送。
如果「已有」httpResponseStatus
事件偵聽程式,就「一定」會傳送回應訊息的主體,而且 HTTP 狀態碼回應必然造成 complete
事件。無論 HTTP 回應狀態碼指出成功或錯誤都是如此。
在 AIR 中,如果「沒有」httpResponseStatus
事件偵聽程式,其行為將因 SWF 版本而異:
- 若為 SWF 9 內容,只有當 HTTP 回應狀態碼指出成功時,才會傳送 HTTP 回應訊息的主體。反之 (一旦發生錯誤) 便不會傳送任何主體,且 URLRequest 物件將傳送 IOError 事件。
- 若為 SWF 10 內容,「一律」會傳送 HTTP 回應訊息的主體。一旦發生錯誤,URLRequest 物件將傳送 IOError 事件。
參數
request:URLRequest — 指定要下載之 URL 的 URLRequest 物件。 如果這個參數的值或傳遞之 URLRequest 物件的 URLRequest.url 屬性為 null ,應用程式就會擲出 null 指標錯誤。
|
事件
complete: — 會在順利載入資料之後傳送。如果有 httpResponseStatus 事件偵聽程式,URLRequest 物件也會傳送 complete 事件,無論 HTTP 回應狀態碼指出成功或失敗都是如此。
| |
httpStatus: — 如果是透過 HTTP 存取,而且目前的環境支援取得狀態碼,則除了任何 complete 或 error 事件以外,您還可以收到這些事件。
| |
httpResponseStatus: — 當 load() 方法呼叫嘗試透過 HTTP 存取資料,而且 Adobe AIR 能夠偵測並傳回要求的狀態碼時傳送。
| |
ioError: — 無法完成載入作業。
| |
open: — 在載入作業開始時傳送。
| |
securityError: — 載入作業嘗試從呼叫者之安全執行程序以外的伺服器擷取資料。 您可以使用伺服器上的原則檔來解決此問題。
|
擲回值
ArgumentError — URLRequest.requestHeader 物件可能不會包含特定禁止的 HTTP 要求檔頭。 如需詳細資訊,請參閱 URLRequestHeader 類別的說明。
| |
MemoryError — 這項錯誤可能會因為下列原因而發生:
| |
SecurityError — 本機不受信任的 SWF 檔可能無法與網際網路進行通訊。您可以透過將此 SWF 檔重新分類為「具有網路連線的本機」或受信任,解決此問題。
| |
SecurityError — 您正嘗試連線到常用的保留連接埠。完整的封鎖連接埠清單,請參閱在「ActionScript 3.0 開發人員指南」中的「限制網路 API」。
|
readBoolean | () | 方法 |
public function readBoolean():Boolean
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
會從串流讀取 Boolean 值。 會讀取單一位元組。若該位元組不為零,則會傳回 true
;否則傳回 false
。
Boolean — 如果位元組不為零,則會傳回 true ,否則會傳回 false 。
|
擲回值
EOFError — 沒有足夠的資料可進行讀取。如果本機 SWF 檔觸發了安全性警告,Flash Player 就會讓 ActionScript 無法使用 URLStream 資料。 發生這種情況時,即使已經收到資料,bytesAvailable 屬性仍會傳回 0,而且任何一個讀取方法都會擲回 EOFError 例外。
| |
IOError — 串流上發生 I/O 錯誤,或者該串流未開啟。
|
readByte | () | 方法 |
public function readByte():int
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
會從串流讀取具有正負號的位元組。
傳回的值會介於 -128 到 127 的範圍之間。
傳回值int — 範圍 -128...127 中的值。
|
擲回值
EOFError — 沒有足夠的資料可進行讀取。如果本機 SWF 檔觸發了安全性警告,Flash Player 就會讓 ActionScript 無法使用 URLStream 資料。 發生這種情況時,即使已經收到資料,bytesAvailable 屬性仍會傳回 0,而且任何一個讀取方法都會擲回 EOFError 例外。
| |
IOError — 串流上發生 I/O 錯誤,或者該串流未開啟。
|
readBytes | () | 方法 |
public function readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
會從串流讀取資料的 length
位元組。 這些位元組會讀入 bytes
指定的 ByteArray 物件,並且會從 offset
位元組開始讀入 ByteArray 物件。
參數
bytes:ByteArray — 要將資料讀入的 ByteArray 物件。
| |
offset:uint (default = 0 ) — bytes 中的偏移,資料讀取會在此開始。 預設值為 0。
| |
length:uint (default = 0 ) — 要讀取的位元組數。 預設值為 0,會讀取所有可用的資料。
|
擲回值
EOFError — 沒有足夠的資料可進行讀取。如果本機 SWF 檔觸發了安全性警告,Flash Player 就會讓 ActionScript 無法使用 URLStream 資料。 發生這種情況時,即使已經收到資料,bytesAvailable 屬性仍會傳回 0,而且任何一個讀取方法都會擲回 EOFError 例外。
| |
IOError — 串流上發生 I/O 錯誤,或者該串流未開啟。
|
readDouble | () | 方法 |
public function readDouble():Number
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
會從串流讀取 IEEE 754 雙精度浮點數。
傳回值Number — 來自串流的 IEEE 754 雙精度浮點數。
|
擲回值
EOFError — 沒有足夠的資料可進行讀取。如果本機 SWF 檔觸發了安全性警告,Flash Player 就會讓 ActionScript 無法使用 URLStream 資料。 發生這種情況時,即使已經收到資料,bytesAvailable 屬性仍會傳回 0,而且任何一個讀取方法都會擲回 EOFError 例外。
| |
IOError — 串流上發生 I/O 錯誤,或者該串流未開啟。
|
readFloat | () | 方法 |
public function readFloat():Number
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
會從串流讀取 IEEE 754 單精度浮點數。
傳回值Number — 來自串流的 IEEE 754 單精度浮點數。
|
擲回值
EOFError — 沒有足夠的資料可進行讀取。如果本機 SWF 檔觸發了安全性警告,Flash Player 就會讓 ActionScript 無法使用 URLStream 資料。 發生這種情況時,即使已經收到資料,bytesAvailable 屬性仍會傳回 0,而且任何一個讀取方法都會擲回 EOFError 例外。
| |
IOError — 串流上發生 I/O 錯誤,或者該串流未開啟。
|
readInt | () | 方法 |
public function readInt():int
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
會從串流讀取具有正負號的 32 位元整數。
傳回的值會介於 -2147483648 到 2147483647 的範圍之間。
傳回值int — 範圍 -2147483648...2147483647 中的值。
|
擲回值
EOFError — 沒有足夠的資料可進行讀取。如果本機 SWF 檔觸發了安全性警告,Flash Player 就會讓 ActionScript 無法使用 URLStream 資料。 發生這種情況時,即使已經收到資料,bytesAvailable 屬性仍會傳回 0,而且任何一個讀取方法都會擲回 EOFError 例外。
| |
IOError — 串流上發生 I/O 錯誤,或者該串流未開啟。
|
readMultiByte | () | 方法 |
public function readMultiByte(length:uint, charSet:String):String
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
會使用指定的字元集,從位元組串流讀取指定之長度的多位元組字串。
參數
length:uint — 所要讀取之位元組串流的位元組數。
| |
charSet:String — 代表字元集之字串,該字元集用於解譯位元組。 可能的字元集字串包括 "shift_jis" 、"CN-GB" 、"iso-8859-1" ,以及其它等等。 如需完整清單,請參閱「支援的字元集」。
注意:如果目前的系統無法辨識 |
String — UTF-8 編碼字串。
|
擲回值
EOFError — 沒有足夠的資料可進行讀取。如果本機 SWF 檔觸發了安全性警告,Flash Player 就會讓 ActionScript 無法使用 URLStream 資料。 發生這種情況時,即使已經收到資料,bytesAvailable 屬性仍會傳回 0,而且任何一個讀取方法都會擲回 EOFError 例外。
|
readObject | () | 方法 |
public function readObject():*
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
會從通訊端讀取物件,以 Action Message Format (AMF) 編碼。
傳回值* — 已還原序列化的物件。
|
擲回值
EOFError — 沒有足夠的資料可進行讀取。 如果本機 SWF 檔觸發了安全性警告,Flash Player 就會讓 ActionScript 無法使用 URLStream 資料。 發生這種情況時,即使已經收到資料,bytesAvailable 屬性仍會傳回 0,而且任何一個讀取方法都會擲回 EOFError 例外。
| |
IOError — 串流上發生 I/O 錯誤,或者該串流未開啟。
|
相關 API 元素
readShort | () | 方法 |
public function readShort():int
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
會從串流讀取具有正負號的 16 位元整數。
傳回的值會介於 -32768 到 32767 的範圍之間。
傳回值int — 範圍 -32768...32767 中的值。
|
擲回值
EOFError — 沒有足夠的資料可進行讀取。如果本機 SWF 檔觸發了安全性警告,Flash Player 就會讓 ActionScript 無法使用 URLStream 資料。 發生這種情況時,即使已經收到資料,bytesAvailable 屬性仍會傳回 0,而且任何一個讀取方法都會擲回 EOFError 例外。
| |
IOError — 串流上發生 I/O 錯誤,或者該串流未開啟。
|
readUnsignedByte | () | 方法 |
public function readUnsignedByte():uint
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
會從串流讀取無正負號的位元組。
傳回的值會介於 0 到 255 的範圍之間。
傳回值uint — 範圍 0...255 中的值。
|
擲回值
EOFError — 沒有足夠的資料可進行讀取。如果本機 SWF 檔觸發了安全性警告,Flash Player 就會讓 ActionScript 無法使用 URLStream 資料。 發生這種情況時,即使已經收到資料,bytesAvailable 屬性仍會傳回 0,而且任何一個讀取方法都會擲回 EOFError 例外。
| |
IOError — 串流上發生 I/O 錯誤,或者該串流未開啟。
|
readUnsignedInt | () | 方法 |
public function readUnsignedInt():uint
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
會從串流讀取無正負號的 32 位元整數。
傳回的值會介於 0 到 4294967295 的範圍之間。
傳回值uint — 範圍 0...4294967295 中的值。
|
擲回值
EOFError — 沒有足夠的資料可進行讀取。如果本機 SWF 檔觸發了安全性警告,Flash Player 就會讓 ActionScript 無法使用 URLStream 資料。 發生這種情況時,即使已經收到資料,bytesAvailable 屬性仍會傳回 0,而且任何一個讀取方法都會擲回 EOFError 例外。
| |
IOError — 串流上發生 I/O 錯誤,或者該串流未開啟。
|
readUnsignedShort | () | 方法 |
public function readUnsignedShort():uint
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
會從串流讀取無正負號的 16 位元整數。
傳回的值會介於 0 到 65535 的範圍之間。
傳回值uint — 範圍 0...65535 中的值。
|
擲回值
EOFError — 沒有足夠的資料可進行讀取。如果本機 SWF 檔觸發了安全性警告,Flash Player 就會讓 ActionScript 無法使用 URLStream 資料。 發生這種情況時,即使已經收到資料,bytesAvailable 屬性仍會傳回 0,而且任何一個讀取方法都會擲回 EOFError 例外。
| |
IOError — 串流上發生 I/O 錯誤,或者該串流未開啟。
|
readUTF | () | 方法 |
public function readUTF():String
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
會從串流讀取 UTF-8 字串。 會假定此字串的前置詞為無正負號的短整數,以指示以位元組為單位的長度。
傳回值String — UTF-8 字串。
|
擲回值
EOFError — 沒有足夠的資料可進行讀取。如果本機 SWF 檔觸發了安全性警告,Flash Player 就會讓 ActionScript 無法使用 URLStream 資料。 發生這種情況時,即使已經收到資料,bytesAvailable 屬性仍會傳回 0,而且任何一個讀取方法都會擲回 EOFError 例外。
| |
IOError — 串流上發生 I/O 錯誤,或者該串流未開啟。
|
readUTFBytes | () | 方法 |
public function readUTFBytes(length:uint):String
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
會從串流讀取 length
UTF-8 位元組的序列,然後傳回字串。
參數
length:uint — UTF-8 位元組的序列。
|
String — 指定長度的字元 (以位元組表示) 所產生的 UTF-8 字串。
|
擲回值
EOFError — 沒有足夠的資料可進行讀取。如果本機 SWF 檔觸發了安全性警告,Flash Player 就會讓 ActionScript 無法使用 URLStream 資料。 發生這種情況時,即使已經收到資料,bytesAvailable 屬性仍會傳回 0,而且任何一個讀取方法都會擲回 EOFError 例外。
| |
IOError — 串流上發生 I/O 錯誤,或者該串流未開啟。
|
complete | 事件 |
flash.events.Event
屬性 Event.type =
flash.events.Event.COMPLETE
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
在順利載入資料時傳送。
Event.COMPLETE
常數會定義 complete
事件物件的 type
屬性值。
這個事件具有下列屬性:
屬性 | 值 |
---|---|
bubbles | false |
cancelable | false ;沒有要取消的預設行為指令。 |
currentTarget | 正主動使用事件偵聽程式處理 Event 物件的物件。 |
target | 已完成載入的網路物件。 |
httpResponseStatus | 事件 |
flash.events.HTTPStatusEvent
屬性 HTTPStatusEvent.type =
flash.events.HTTPStatusEvent.HTTP_RESPONSE_STATUS
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, AIR 1.0, Flash Lite 4 |
當 URLStream.load()
方法呼叫嘗試透過 HTTP 存取資料,而且 Adobe AIR 能夠偵測並傳回要求的狀態碼時傳送。
如果 URLStream 物件註冊 httpStatusEvent
事件,錯誤回應會被當做內容一樣地傳送。因此,當錯誤資料載入 URLStream 時,URLStream 會傳送 progress
和 complete
事件,而不會傳送 ioError
事件。
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 元素
httpStatus | 事件 |
flash.events.HTTPStatusEvent
屬性 HTTPStatusEvent.type =
flash.events.HTTPStatusEvent.HTTP_STATUS
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
當 URLStream.load()
呼叫嘗試透過 HTTP 存取資料,而且 Flash Player 或 Adobe AIR 能夠偵測並傳回要求的狀態碼時傳送。(某些瀏覽器環境可能無法提供這項資訊)。 請注意,httpStatus
(如果有的話) 將在 (另外) 任何 complete
或 error
事件之前傳送。
HTTPStatusEvent.HTTP_STATUS
常數會定義 httpStatus
事件物件的 type
屬性值。
這個事件具有下列屬性:
屬性 | 值 |
---|---|
bubbles | false |
cancelable | false ;沒有要取消的預設行為指令。 |
currentTarget | 正主動使用事件偵聽程式處理 Event 物件的物件。 |
status | 伺服器傳回的 HTTP 狀態碼。 |
target | 接收 HTTP 狀態碼的網路物件。 |
相關 API 元素
ioError | 事件 |
flash.events.IOErrorEvent
屬性 IOErrorEvent.type =
flash.events.IOErrorEvent.IO_ERROR
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
發生輸入/輸出錯誤,因而導致載入作業失敗時傳送。
定義ioError
事件物件的 type
屬性值。
這個事件具有下列屬性:
屬性 | 值 |
---|---|
bubbles | false |
cancelable | false ;沒有要取消的預設行為指令。 |
currentTarget | 正主動使用事件偵聽程式處理 Event 物件的物件。 |
errorID | 與特定錯誤相關聯的參考號碼 (僅限 AIR)。 |
target | 遭遇輸入/輸出錯誤的網路物件。 |
text | 要顯示為錯誤訊息的文字。 |
相關 API 元素
open | 事件 |
flash.events.Event
屬性 Event.type =
flash.events.Event.OPEN
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
在載入作業開始時傳送。
Event.OPEN
常數會定義 open
事件物件的 type
屬性值。
這個事件具有下列屬性:
屬性 | 值 |
---|---|
bubbles | false |
cancelable | false ;沒有要取消的預設行為指令。 |
currentTarget | 正主動使用事件偵聽程式處理 Event 物件的物件。 |
target | 已開啟連線的網路物件。 |
相關 API 元素
progress | 事件 |
flash.events.ProgressEvent
屬性 ProgressEvent.type =
flash.events.ProgressEvent.PROGRESS
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
在下載作業進行中收到資料時傳送。 您可以使用 URLStream 類別的方法,立即讀取已經收到的資料。
定義progress
事件物件的 type
屬性值。
這個事件具有下列屬性:
屬性 | 值 |
---|---|
bubbles | false |
bytesLoaded | 在偵聽程式處理事件時,載入的項目或位元組數目。 |
bytesTotal | 如果載入程序成功時,最終將載入的項目或位元組總數。 |
cancelable | false ;沒有要取消的預設行為指令。 |
currentTarget | 正主動使用事件偵聽程式處理 Event 物件的物件。 |
target | 回報進度的物件。 |
相關 API 元素
securityError | 事件 |
flash.events.SecurityErrorEvent
屬性 SecurityErrorEvent.type =
flash.events.SecurityErrorEvent.SECURITY_ERROR
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
會當 URLStream.load()
的呼叫嘗試從安全執行程序以外的伺服器載入資料時傳送。
SecurityErrorEvent.SECURITY_ERROR
常數會定義 securityError
事件物件的 type
屬性值。
這個事件具有下列屬性:
屬性 | 值 |
---|---|
bubbles | false |
cancelable | false ;沒有要取消的預設行為指令。 |
currentTarget | 正主動使用事件偵聽程式處理 Event 物件的物件。 |
target | 回報安全性錯誤的網路物件。 |
text | 要顯示為錯誤訊息的文字。 |
相關 API 元素
若要執行此範例,請將名為 URLStreamExample.swf 的檔案與 SWF 檔放置於相同的目錄中。
package { import flash.display.Sprite; import flash.errors.*; import flash.events.*; import flash.net.URLRequest; import flash.net.URLStream; public class URLStreamExample extends Sprite { private static const ZLIB_CODE:String = "CWS"; private var stream:URLStream; public function URLStreamExample() { stream = new URLStream(); var request:URLRequest = new URLRequest("URLStreamExample.swf"); configureListeners(stream); try { stream.load(request); } catch (error:Error) { trace("Unable to load requested URL."); } } private function configureListeners(dispatcher:EventDispatcher):void { dispatcher.addEventListener(Event.COMPLETE, completeHandler); dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler); dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); dispatcher.addEventListener(Event.OPEN, openHandler); dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler); dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); } private function parseHeader():void { trace("parseHeader"); trace("isCompressed: " + isCompressed()); trace("version: " + stream.readByte()); } private function isCompressed():Boolean { return (stream.readUTFBytes(3) == ZLIB_CODE); } private function completeHandler(event:Event):void { trace("completeHandler: " + event); parseHeader(); } private function openHandler(event:Event):void { trace("openHandler: " + event); } private function progressHandler(event:Event):void { trace("progressHandler: " + event); } private function securityErrorHandler(event:SecurityErrorEvent):void { trace("securityErrorHandler: " + event); } private function httpStatusHandler(event:HTTPStatusEvent):void { trace("httpStatusHandler: " + event); } private function ioErrorHandler(event:IOErrorEvent):void { trace("ioErrorHandler: " + event); } } }
Tue Jun 12 2018, 03:47 PM Z