套件 | flash.display |
類別 | public class LoaderInfo |
繼承 | LoaderInfo EventDispatcher Object |
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
您可以使用兩種方法存取 LoaderInfo 物件:
- flash.display.Loader 物件的
contentLoaderInfo
屬性 -- 任何 Loader 物件永遠都可以使用contentLoaderInfo
屬性。 至於尚未呼叫load()
或loadBytes()
方法的 Loader 物件,或尚未完全載入的 Loader 物件,嘗試存取contentLoaderInfo
屬性的眾多屬性會擲出錯誤。 - 顯示物件的
loaderInfo
屬性。
Loader 物件的 contentLoaderInfo
屬性會提供 Loader 物件正在載入的內容相關資訊,而 DisplayObject 的 loaderInfo
屬性則會提供該顯示物件之根 SWF 檔案的相關資訊。
當您使用 Loader 物件來載入顯示物件 (如 SWF 檔或點陣圖) 時,顯示物件的 loaderInfo
屬性與 Loader 物件 (DisplayObject.loaderInfo = Loader.contentLoaderInfo
) 的 contentLoaderInfo
屬性相同。由於 SWF 檔的主要類別實體不具有 Loader 物件,loaderInfo
屬性就變成了存取 SWF 檔之主要類別實體的 LoaderInfo 時,唯一的方式。
下圖顯示 LoaderInfo 物件的不同用途 -- 分別針對 SWF 檔的主要類別實體、Loader 物件的 contentLoaderInfo
屬性,以及針對載入物件的 loaderInfo
屬性:
當載入作業尚未完成時,將無法使用 Loader 物件之 contentLoaderInfo
屬性當中的某些屬性。 您可以取得一些屬性,例如 bytesLoaded
、bytesTotal
、url
、loaderURL
,以及 applicationDomain
。 當 loaderInfo
物件傳送 init
事件,您可以存取 loaderInfo
物件的所有屬性以及載入的影像或 SWF 檔案。
注意:LoaderInfo 物件的所有屬性都是唯讀的。
EventDispatcher.dispatchEvent()
方法不適用於 LoaderInfo 物件。 如果您在 LoaderInfo 物件呼叫 dispatchEvent()
,會擲出 IllegalOperationError 例外。
相關 API 元素
flash.display.Loader.content
flash.display.DisplayObject
flash.display.DisplayObject.loaderInfo
屬性 | 定義自 | ||
---|---|---|---|
actionScriptVersion : uint [唯讀]
載入的 SWF 檔之 ActionScript 版本。 | LoaderInfo | ||
applicationDomain : ApplicationDomain [唯讀]
當載入外部 SWF 檔時,所有包含在載入類別的 ActionScript 3.0 定義都會儲存在 applicationDomain 屬性中。 | LoaderInfo | ||
bytes : ByteArray [唯讀]
與 LoaderInfo 物件相關聯的位元組。 | LoaderInfo | ||
bytesLoaded : uint [唯讀]
媒體所載入的位元組數。 | LoaderInfo | ||
bytesTotal : uint [唯讀]
整個媒體檔的壓縮位元組數。 | LoaderInfo | ||
childAllowsParent : Boolean [唯讀]
傳達內容 (子系) 對載入器 (父輩) 的信任關係。 | LoaderInfo | ||
childSandboxBridge : Object
物件,可以由載入之內容的程式碼設定,以顯露屬性和方法供 Loader 物件之安全執行程序中的程式碼存取。 | LoaderInfo | ||
constructor : Object
類別物件的參照或是特定物件實體的建構函數。 | Object | ||
content : DisplayObject [唯讀]
與此 LoaderInfo 物件相關聯的載入物件。 | LoaderInfo | ||
contentType : String [唯讀]
載入檔案的 MIME 類型。 | LoaderInfo | ||
frameRate : Number [唯讀]
載入的 SWF 檔之名目影格速率,以每秒影格數來定義。 | LoaderInfo | ||
height : int [唯讀]
載入檔案的名目高度。 | LoaderInfo | ||
isURLInaccessible : Boolean [唯讀]
指出 LoaderInfo.url 屬性是否曾被截斷。 | LoaderInfo | ||
loader : Loader [唯讀]
與此 LoaderInfo 物件相關聯的 Loader 物件。 | LoaderInfo | ||
loaderURL : String [唯讀]
針對這個 LoaderInfo 物件所描述的媒體,負責將其載入作業初始化的 SWF 檔案之 URL。 | LoaderInfo | ||
parameters : Object [唯讀]
包含名稱/數值配對的物件,可代表提供給載入之 SWF 檔案的參數。 | LoaderInfo | ||
parentAllowsChild : Boolean [唯讀]
傳達 Loader (父輩) 對內容 (子系) 的信任關係。 | LoaderInfo | ||
parentSandboxBridge : Object
物件,可以透過程式碼在 Loader 物件之安全執行程序中設定,以顯露屬性和方法供所載入之內容的程式碼存取。 | LoaderInfo | ||
sameDomain : Boolean [唯讀]
傳達載入器與內容之間的關係: 如果它們來自相同的原始網域則為 true;否則為 false。 | LoaderInfo | ||
sharedEvents : EventDispatcher [唯讀]
EventDispatcher 實體,可用來交換各安全性邊界之間的事件。 | LoaderInfo | ||
swfVersion : uint [唯讀]
載入的 SWF 檔之檔案格式版本。 | LoaderInfo | ||
uncaughtErrorEvents : UncaughtErrorEvents [唯讀]
是一個物件,當這個 LoaderInfo 物件之 SWF 檔案的程式碼發生未處理的錯誤時,這個物件就會傳送 uncaughtError 事件。 | LoaderInfo | ||
url : String [唯讀]
要載入的媒體 URL。 | LoaderInfo | ||
width : int [唯讀]
載入內容的名目寬度。 | LoaderInfo |
方法 | 定義自 | ||
---|---|---|---|
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
會在 EventDispatcher 物件註冊事件偵聽程式,以便讓偵聽程式收到事件的通知。 | EventDispatcher | ||
[靜態]
傳回與 SWF 檔 (定義為物件) 相關聯的 LoaderInfo 物件。 | LoaderInfo | ||
會檢查 EventDispatcher 物件是否有對特定的事件類型註冊偵聽程式。 | EventDispatcher | ||
指出物件是否有已定義的指定屬性。 | Object | ||
指出 Object 類別的實體是否位於指定為參數的物件原型鏈中。 | Object | ||
指出指定的屬性是否存在,以及是否可列舉。 | Object | ||
會從 EventDispatcher 物件移除偵聽程式。 | EventDispatcher | ||
為迴圈作業設定動態屬性的可用性。 | Object | ||
傳回代表此物件的字串,根據地區特定慣例進行格式化。 | Object | ||
會傳回指定之物件的字串形式。 | Object | ||
會傳回指定之物件的基本值。 | Object | ||
檢查此 EventDispatcher 物件是否已註冊事件偵聽程式,或者此物件的任何祖系已為特定事件類型註冊事件偵聽程式。 | EventDispatcher |
事件 | 摘要 | 定義自 | ||
---|---|---|---|---|
[廣播事件] 當 Flash Player 或 AIR 應用程式取得作業系統焦點並成為作用中時傳送。 | EventDispatcher | |||
在順利載入資料時傳送。 | LoaderInfo | |||
[廣播事件] 當 Flash Player 或 AIR 應用程式失去作業系統焦點並成為非作用中時傳送。 | EventDispatcher | |||
當透過 HTTP 發出網路要求並可以偵測到 HTTP 狀態碼時傳送。 | LoaderInfo | |||
當載入的 SWF 檔的屬性和方法可供存取使用時傳送。 | LoaderInfo | |||
當發生輸入或輸出錯誤而導致載入作業失敗時傳送。 | LoaderInfo | |||
在載入作業開始時傳送。 | LoaderInfo | |||
在下載作業進行中收到資料時傳送。 | LoaderInfo | |||
每當使用 Loader 物件的 unload() 方法移除載入的物件,或是使用相同的 Loader 物件執行第二次載入並在載入開始之前移除原始內容時,由 LoaderInfo 物件傳送。 | LoaderInfo |
actionScriptVersion | 屬性 |
actionScriptVersion:uint
[唯讀] 語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
載入的 SWF 檔之 ActionScript 版本。 您可以使用 ActionScriptVersion 類別中的列舉項目來指定語言版本,例如 ActionScriptVersion.ACTIONSCRIPT2
和 ActionScriptVersion.ACTIONSCRIPT3
。
注意:此屬性永遠具有 ActionScriptVersion.ACTIONSCRIPT2
或 ActionScriptVersion.ACTIONSCRIPT3
的值。 ActionScript 1.0 和 2.0 都會回報為 ActionScriptVersion.ACTIONSCRIPT2
(版本 2.0)。 此屬性只能區別出 ActionScript 3.0 與 ActionScript 1.0 和 2.0。
實作
public function get actionScriptVersion():uint
擲回值
Error — 如果檔案沒有完全下載以擷取要求的資訊。
| |
Error — 如果檔案不是 SWF 檔。
|
相關 API 元素
applicationDomain | 屬性 |
applicationDomain:ApplicationDomain
[唯讀] 語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
當載入外部 SWF 檔時,所有包含在載入類別的 ActionScript 3.0 定義都會儲存在 applicationDomain
屬性中。
SWF 檔中的所有程式碼,都是為了存在於應用程式網域中而定義。 目前的應用程式網域也就是您的主應用程式的執行位置。 系統網域包含所有的應用程式網域,其中包括目前的網域以及 Flash Player 或 Adobe AIR 所使用的全部類別。
所有的應用程式網域,除了系統網域之外,都具有相關的父網域。 主要應用程式之 applicationDomain
的父網域就是系統網域。 只有在其父輩尚未定義載入的類別時,這些類別才會獲得定義。 因此,您不能以較新的定義覆寫載入類別的定義。
如需應用程式網域的使用範例,請參閱「ActionScript 3.0 開發人員指南」中的「用戶端系統環境」一章。
實作
public function get applicationDomain():ApplicationDomain
擲回值
SecurityError — 呼叫者的安全執行程序無法獲得允許來存取此 ApplicationDomain。
|
相關 API 元素
bytes | 屬性 |
bytes:ByteArray
[唯讀] 語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9.0.115.0, Flash Lite 4 |
與 LoaderInfo 物件相關聯的位元組。
實作
public function get bytes():ByteArray
擲回值
SecurityError — 如果存取此 API 的物件因為安全性限制而被禁止存取載入物件。 這個情況就像,當 Loader 物件嘗試存取 contentLoaderInfo.content 屬性,由於沒有取得安全性權限而無法存取載入的內容。
如需安全性詳細資訊,請參閱「Flash Player 開發人員中心」主題:安全性。 |
bytesLoaded | 屬性 |
bytesTotal | 屬性 |
bytesTotal:uint
[唯讀] 語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
整個媒體檔的壓縮位元組數。
在此 LoaderInfo 物件的相對應 Loader 物件傳送第一個 progress
事件之前,bytesTotal
為 0。 在 Loader 物件傳送了 progress
事件之後,bytesTotal
就會反映要下載的實際位元組數。
注意 (僅 iOS):在 iOS 上執行應用程式時,傳回的值與其他平台上的不同。
實作
public function get bytesTotal():uint
相關 API 元素
childAllowsParent | 屬性 |
childAllowsParent:Boolean
[唯讀] 語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
傳達內容 (子系) 對載入器 (父輩) 的信任關係。 如果子系允許父輩存取,則為 true
;否則為 false
。 如果子物件已經呼叫 allowDomain()
方法授與父網域權限,或者子網域已經載入授與父網域權限的 URL 原則,則此屬性會設為 true
。如果子系與父輩都位於相同的網域,則此屬性會設為 true
。
如需安全性詳細資訊,請參閱「Flash Player 開發人員中心」主題:安全性。
實作
public function get childAllowsParent():Boolean
擲回值
Error — 如果檔案未完全下載即擷取要求的資訊,則會擲出事件。
|
childSandboxBridge | 屬性 |
childSandboxBridge:Object
執行階段版本: | AIR 1.0, Flash Player 11.4, Flash Lite 4 |
物件,可以由載入之內容的程式碼設定,以顯露屬性和方法供 Loader 物件之安全執行程序中的程式碼存取。此「安全執行程序橋接」可讓來自非應用程式網域的內容控制存取權限,以編寫應用程式安全執行程序中的指令碼,反之亦然。此安全執行程序橋接的作用是做為多個安全執行程序之間的閘道,可提供應用程式和非應用程式安全執行程序之間明確的互動。
實作
public function get childSandboxBridge():Object
public function set childSandboxBridge(value:Object):void
擲回值
SecurityError — 只有載入之內容的安全執行程序可以存取此屬性。
|
相關 API 元素
content | 屬性 |
content:DisplayObject
[唯讀] 語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
與此 LoaderInfo 物件相關聯的載入物件。
實作
public function get content():DisplayObject
擲回值
SecurityError — 如果存取此 API 的物件因為安全性限制而被禁止存取載入物件。 這個情況就像,當 Loader 物件嘗試存取 contentLoaderInfo.content 屬性,由於沒有取得安全性權限而無法存取載入的內容。
如需安全性詳細資訊,請參閱「Flash Player 開發人員中心」主題:安全性。 |
contentType | 屬性 |
frameRate | 屬性 |
frameRate:Number
[唯讀] 語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
載入的 SWF 檔之名目影格速率,以每秒影格數來定義。 雖然此數通常是整數型態,但不必然是整數。
此數值可能與實際使用的影格速率相異。 在任何時候,Flash Player 或 Adobe AIR 每一次只會在所有載入的 SWF 檔案上使用一個影格速率,而且這個影格速率將由主要 SWF 檔案的名目影格速率所決定。此外,視硬體、音效同步化和其它因素而定,可能無法達到主要影格速率。
實作
public function get frameRate():Number
擲回值
Error — 如果檔案沒有完全下載以擷取要求的資訊。
| |
Error — 如果檔案不是 SWF 檔。
|
height | 屬性 |
isURLInaccessible | 屬性 |
isURLInaccessible:Boolean
[唯讀] 語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 10.1, AIR 2 |
指出 LoaderInfo.url
屬性是否曾被截斷。當 isURLInaccessible
值為 true
時,LoaderInfo.url
值便只是載入內容之最終 URL 的網域。例如,如果從 http://www.adobe.com/assets/hello.swf
載入內容,而 LoaderInfo.url
屬性的值為 http://www.adobe.com
,屬性便會被截斷。只有下列項目都為 true 時,isURLInaccessible
值才會為 true
:
- 載入內容過程中,發生 HTTP 重新導向。
- 呼叫
Loader.load()
的 SWF 檔案是來自內容最終 URL 以外的網域。 - 呼叫
Loader.load()
的 SWF 檔案沒有存取內容的權限。授與存取內容權限的方式,和授與BitmapData.draw()
權限的方式一樣:都是呼叫Security.allowDomain()
來存取 SWF 檔案 (對於非 SWF 檔案內容,則是建立原則檔案,並使用LoaderContext.checkPolicyFile
屬性)。
注意:isURLInaccessible
屬性是 Flash Player 10.1 及 AIR 2.0 新增的屬性。不過當 Flash 執行階段支援它時,所有版本的 SWF 檔案都可以使用這個屬性。所以在「嚴謹模式」中使用某些編寫工具會造成編譯錯誤。若要解決錯誤,請使用間接語法 myLoaderInfo["isURLInaccessible"]
或停用嚴謹模式。如果您使用 Flash Professional CS5 或 Flex SDK 4.1,您可以使用及編譯此 API,供 Flash Player 10.1 及 AIR 2 之前的執行階段版本使用。
對於 AIR 中的應用程式內容,這個屬性的值永遠都是 false
。
實作
public function get isURLInaccessible():Boolean
相關 API 元素
loader | 屬性 |
loader:Loader
[唯讀] 語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
與此 LoaderInfo 物件相關聯的 Loader 物件。 如果這個 LoaderInfo 物件是 SWF 檔案主要類別實體的 loaderInfo
屬性,則不會關聯任何 Loader 物件。
實作
public function get loader():Loader
擲回值
SecurityError — 如果存取此 API 的物件因為安全性限制而被禁止存取 Loader 物件。 這個情況就像,當載入的 SWF 檔案嘗試存取其 loaderInfo.loader 屬性,由於沒有取得安全性權限而無法存取載入的 SWF 檔案。
如需安全性詳細資訊,請參閱「Flash Player 開發人員中心」主題:安全性。 |
loaderURL | 屬性 |
parameters | 屬性 |
parameters:Object
[唯讀] 語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
包含名稱/數值配對的物件,可代表提供給載入之 SWF 檔案的參數。
您可以使用 for-in
迴圈,將所有名稱與數值從 parameters
物件中擷取出來。
兩個參數來源為:主要 SWF 檔之 URL 的查詢字串,以及 FlashVars
HTML 參數值 (只會影響主要 SWF 檔)。
parameters
屬性會取代 ActionScript 1.0 與 2.0 做為主要時間軸屬性提供給 SWF 檔案參數使用的功能。
包含運用 ActionScript 1.0 或 2.0 的 SWF 檔,其 Loader 物件的 parameters
屬性值為 null。 只有當 Loader 物件所包含的 SWF 檔使用的是 ActionScript 3.0,其屬性值才不會是 null。
實作
public function get parameters():Object
parentAllowsChild | 屬性 |
parentAllowsChild:Boolean
[唯讀] 語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
傳達 Loader (父輩) 對內容 (子系) 的信任關係。 如果父輩允許子系存取,則為 true
;否則為 false
。 如果父物件已經呼叫 allowDomain()
方法授與子網域權限,或者父網域已經載入授與子網域權限的 URL 原則檔,則此屬性會設為 true
。如果子系與父輩都位於相同的網域,則此屬性會設為 true
。
如需安全性詳細資訊,請參閱「Flash Player 開發人員中心」主題:安全性。
實作
public function get parentAllowsChild():Boolean
擲回值
Error — 如果檔案未完全下載即擷取要求的資訊,則會擲出事件。
|
parentSandboxBridge | 屬性 |
parentSandboxBridge:Object
執行階段版本: | AIR 1.0, Flash Player 11.4, Flash Lite 4 |
物件,可以透過程式碼在 Loader 物件之安全執行程序中設定,以顯露屬性和方法供所載入之內容的程式碼存取。此「安全執行程序橋接」可讓來自非應用程式網域的內容控制存取權限,以編寫應用程式安全執行程序中的指令碼,反之亦然。此安全執行程序橋接的作用是做為多個安全執行程序之間的閘道,可提供應用程式和非應用程式安全執行程序之間明確的互動。
實作
public function get parentSandboxBridge():Object
public function set parentSandboxBridge(value:Object):void
擲回值
SecurityError — 只有 Loader 物件之安全執行程序中的內容可以存取此屬性。
|
相關 API 元素
sameDomain | 屬性 |
sharedEvents | 屬性 |
sharedEvents:EventDispatcher
[唯讀] 語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
EventDispatcher 實體,可用來交換各安全性邊界之間的事件。 即使當 Loader 物件和所載入的內容都是來自安全性網域 (彼此互不信任的網域) 時,兩者還是可以存取 sharedEvents
並透過此物件傳送和接收事件。
實作
public function get sharedEvents():EventDispatcher
swfVersion | 屬性 |
uncaughtErrorEvents | 屬性 |
uncaughtErrorEvents:UncaughtErrorEvents
[唯讀] 語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 10.1, AIR 2 |
是一個物件,當這個 LoaderInfo 物件之 SWF 檔案的程式碼發生未處理的錯誤時,這個物件就會傳送 uncaughtError
事件。在任何 try..catch
區塊外面發生錯誤時,或傳送的 ErrorEvent 物件沒有註冊偵聽程式時,就會發生未捕捉到的錯誤。
例如,若在 try 區塊中,則會有呼叫其事件處理常式的事件發送程式,而且 catch 區塊不會捕捉以事件處理常式擲回的錯誤。透過偵聽 LoaderInfo.uncaughtErrorEvents
可以捕捉之後擲回的任何錯誤。
當此 LoaderInfo 相關的 SWF 載入完成之後,就會建立這個屬性。直到 uncaughtErrorEvents
屬性變成 null
為止。在僅有 ActionScript 的專案中,您可以在執行 SWF 檔案主要類別的建構函數期間或之後存取此屬性。對於 Flex 專案,傳送 applicationComplete
事件之後,就可以取得 uncaughtErrorEvents
屬性。
實作
public function get uncaughtErrorEvents():UncaughtErrorEvents
相關 API 元素
範例 ( 如何使用本範例 )
uncaughtError
事件處理常式來偵測未捕捉到的錯誤。它也會提供一個按鈕,只要按一下,就會擲回一個由未捕捉到的錯誤處理常式所捕捉到的錯誤。
在建構函式中,程式碼會為 LoaderInfo 物件的 uncaughtErrorEvents
屬性所傳送的 uncaughtError
事件註冊一個偵聽程式。
在 uncaughtErrorHandler()
方法中,程式碼會檢查 error
屬性的資料類型,並視情況提供適當的回應。
package { import flash.display.Sprite; import flash.events.ErrorEvent; import flash.events.MouseEvent; import flash.events.UncaughtErrorEvent; public class UncaughtErrorEventExample extends Sprite { public function UncaughtErrorEventExample() { loaderInfo.uncaughtErrorEvents.addEventListener(UncaughtErrorEvent.UNCAUGHT_ERROR, uncaughtErrorHandler); drawUI(); } private function uncaughtErrorHandler(event:UncaughtErrorEvent):void { if (event.error is Error) { var error:Error = event.error as Error; // do something with the error } else if (event.error is ErrorEvent) { var errorEvent:ErrorEvent = event.error as ErrorEvent; // do something with the error } else { // a non-Error, non-ErrorEvent type was thrown and uncaught } } private function drawUI():void { var btn:Sprite = new Sprite(); btn.graphics.clear(); btn.graphics.beginFill(0xFFCC00); btn.graphics.drawRect(0, 0, 100, 50); btn.graphics.endFill(); addChild(btn); btn.addEventListener(MouseEvent.CLICK, clickHandler); } private function clickHandler(event:MouseEvent):void { throw new Error("Gak!"); } } }
<?xml version="1.0" encoding="utf-8"?> <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/halo" applicationComplete="applicationCompleteHandler();"> <fx:Script> <![CDATA[ import flash.events.ErrorEvent; import flash.events.MouseEvent; import flash.events.UncaughtErrorEvent; private function applicationCompleteHandler():void { loaderInfo.uncaughtErrorEvents.addEventListener(UncaughtErrorEvent.UNCAUGHT_ERROR, uncaughtErrorHandler); } private function uncaughtErrorHandler(event:UncaughtErrorEvent):void { if (event.error is Error) { var error:Error = event.error as Error; // do something with the error } else if (event.error is ErrorEvent) { var errorEvent:ErrorEvent = event.error as ErrorEvent; // do something with the error } else { // a non-Error, non-ErrorEvent type was thrown and uncaught } } private function clickHandler(event:MouseEvent):void { throw new Error("Gak!"); } ]]> </fx:Script> <s:Button label="Cause Error" click="clickHandler(event);"/> </s:WindowedApplication>
url | 屬性 |
url:String
[唯讀] 語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
要載入的媒體 URL。
在這個 LoaderInfo 物件相對應的 Loader 物件傳送第一個 progress
事件之前,url
屬性值只能反映對 Loader 物件的 load()
方法呼叫中指定的初始 URL。 在第一個 progress
事件之後,url
屬性會在解析了任何重新導向作業與相關的 URL 之後,反映媒體的最終 URL。
在某些案例中,url
屬性的值會被截斷; 請參閱 isURLInaccessible
屬性,取得詳細資訊。
實作
public function get url():String
相關 API 元素
width | 屬性 |
getLoaderInfoByDefinition | () | 方法 |
public static function getLoaderInfoByDefinition(object:Object):LoaderInfo
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9.0.115.0, Flash Lite 4 |
傳回與 SWF 檔 (定義為物件) 相關聯的 LoaderInfo 物件。
參數
object:Object — 您要為其取得相關聯之 LoaderInfo 物件的物件。
|
LoaderInfo — 相關聯的 LoaderInfo 物件。在除錯程式組建中呼叫時 (或未啟用除錯功能時) 或者如果所參考之 object 沒有相關聯的 LoaderInfo 物件 (例如 AIR 使用的某些物件),便會傳回 null 。
|
擲回值
SecurityError — 呼叫者並未在本機受信任的安全執行程序中執行。
|
complete | 事件 |
flash.events.Event
屬性 Event.type =
flash.events.Event.COMPLETE
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
在順利載入資料時傳送。 換句話說,它會在已經下載所有內容而且完成載入時傳送。complete
事件一定會在 init
事件之後傳送。在物件可供存取時會傳送 init
事件,儘管內容可能仍在下載中。
Event.COMPLETE
常數會定義 complete
事件物件的 type
屬性值。
這個事件具有下列屬性:
屬性 | 值 |
---|---|
bubbles | false |
cancelable | false ;沒有要取消的預設行為指令。 |
currentTarget | 正主動使用事件偵聽程式處理 Event 物件的物件。 |
target | 已完成載入的網路物件。 |
相關 API 元素
httpStatus | 事件 |
flash.events.HTTPStatusEvent
屬性 HTTPStatusEvent.type =
flash.events.HTTPStatusEvent.HTTP_STATUS
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
當透過 HTTP 發出網路要求並可以偵測到 HTTP 狀態碼時傳送。
HTTPStatusEvent.HTTP_STATUS
常數會定義 httpStatus
事件物件的 type
屬性值。
這個事件具有下列屬性:
屬性 | 值 |
---|---|
bubbles | false |
cancelable | false ;沒有要取消的預設行為指令。 |
currentTarget | 正主動使用事件偵聽程式處理 Event 物件的物件。 |
status | 伺服器傳回的 HTTP 狀態碼。 |
target | 接收 HTTP 狀態碼的網路物件。 |
相關 API 元素
init | 事件 |
flash.events.Event
屬性 Event.type =
flash.events.Event.INIT
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
當載入的 SWF 檔的屬性和方法可供存取使用時傳送。不過,內容可能仍在下載中。當下列條件存在時,LoaderInfo 物件會傳送 init
事件:
- 所有與載入物件相關聯的屬性和方法,以及那些與 LoaderInfo 物件相關聯的屬性和方法都可以存取。
- 所有子物件的建構函式都已完成。
- 所載入 SWF 檔的主要時間軸的第一個影格中的所有 ActionScript 程式碼都已經執行。
例如,Event.INIT
會在影片或動畫的第一個影格載入時傳送。接著,影片便可供存取並可加入至顯示清單。不過,完整的影片會花較長的時間來下載。Event.COMPLETE
只會在已載入完整影片時傳送。
init
事件一定會在 complete
事件之前發生。
Event.INIT
常數會定義 init
事件物件的 type
屬性值。
這個事件具有下列屬性:
屬性 | 值 |
---|---|
bubbles | false |
cancelable | false ;沒有要取消的預設行為指令。 |
currentTarget | 正主動使用事件偵聽程式處理 Event 物件的物件。 |
target | 與所載入之 SWF 檔相關聯的 LoaderInfo 物件。 |
相關 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 |
在下載作業進行中收到資料時傳送。
定義progress
事件物件的 type
屬性值。
這個事件具有下列屬性:
屬性 | 值 |
---|---|
bubbles | false |
bytesLoaded | 在偵聽程式處理事件時,載入的項目或位元組數目。 |
bytesTotal | 如果載入程序成功時,最終將載入的項目或位元組總數。 |
cancelable | false ;沒有要取消的預設行為指令。 |
currentTarget | 正主動使用事件偵聽程式處理 Event 物件的物件。 |
target | 回報進度的物件。 |
相關 API 元素
unload | 事件 |
flash.events.Event
屬性 Event.type =
flash.events.Event.UNLOAD
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
每當使用 Loader 物件的 unload()
方法移除載入的物件,或是使用相同的 Loader 物件執行第二次載入並在載入開始之前移除原始內容時,由 LoaderInfo 物件傳送。
Event.UNLOAD
常數會定義 unload
事件物件的 type
屬性值。
這個事件具有下列屬性:
屬性 | 值 |
---|---|
bubbles | false |
cancelable | false ;沒有要取消的預設行為指令。 |
currentTarget | 正主動使用事件偵聽程式處理 Event 物件的物件。 |
target | 與要取消載入或取代之 SWF 檔相關聯的 LoaderInfo 物件。 |
相關 API 元素
- 會建立
url
屬性,此屬性將為影像的位置與名稱。 - 類別建構函式會建立一個物件,名為
loader
。 loader
物件會將事件偵聽程式實體化,以確保影像正確載入。- 建構函式會建立新的 URLRequest 物件實體
request
,並傳遞url
以便告知檔案名稱與位置。 request
物件會傳遞至loader
物件的load()
方法,然後將影像載入顯示清單中。
重要:在此範例中,您需要將名為 Image.gif 的檔案加入與已編譯 SWF 檔案相同的目錄中。 使用的影像之影像區域必須與主要 SWF 檔的尺寸相符。
package { import flash.display.Loader; import flash.display.LoaderInfo; import flash.display.Sprite; import flash.events.*; import flash.net.URLRequest; public class LoaderInfoExample extends Sprite { private var url:String = "Image.gif"; public function LoaderInfoExample() { var loader:Loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.INIT, initHandler); loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); var request:URLRequest = new URLRequest(url); loader.load(request); addChild(loader); } private function initHandler(event:Event):void { var loader:Loader = Loader(event.target.loader); var info:LoaderInfo = LoaderInfo(loader.contentLoaderInfo); trace("initHandler: loaderURL=" + info.loaderURL + " url=" + info.url); } private function ioErrorHandler(event:IOErrorEvent):void { trace("ioErrorHandler: " + event); } } }
Tue Jun 12 2018, 03:47 PM Z