套件 | fl.display |
類別 | public class ProLoader |
繼承 | ProLoader Sprite DisplayObjectContainer InteractiveObject DisplayObject EventDispatcher Object |
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS5.5 |
執行階段版本: | AIR 1.0, Flash Player 9 |
注意 ProLoader 不是 flash.display.Loader 的子類別。若要使用 ProLoader,您必須將所有的 Loader 類型參考更改為 ProLoader。
ProLoader 提供一致的載入體驗。對於使用 RSL 預先載入的 SWF 檔案尤其實用。例如,使用 TLF 文字的 SWF 檔案預設會使用 RSL 預先載入。在這些情況中,ProLoaderInfo 會在 RSL 預先載入完成且實際內容可供使用之前,延遲傳送 INIT 或 COMPLETE 事件。因此,content
屬性就可以存取實際內容。此外,ProLoader 還能協助您避免發生其他問題,例如:
- 額外的
addedToStage
和removedFromStage
事件 - 載入第一個影格上錯誤父輩的內容 (適用於使用 Flash Professional CS5.5 或更新版本發佈至 Flash Player 10.2 或更新版本的內容)。
警告 特定 ProLoader 成員不支援所有執行階段版本。只在您的發佈 AIR 或 Flash Player 版本支援時這些成員時,才存取它們。否則,這些 API 會擲回執行階段錯誤。具有有限執行階段支援的成員包含下列方法和屬性:
-
unloadAndStop()
-
loadFilePromise()
-
uncaughtErrorEvents
請參閱每個 API 的參考主題,以驗證執行階段支援。
屬性 | 定義自 | ||
---|---|---|---|
accessibilityImplementation : AccessibilityImplementation
對此 InteractiveObject 實體目前的輔助功能實作 (AccessibilityImplementation)。 | InteractiveObject | ||
accessibilityProperties : AccessibilityProperties
此顯示物件的目前輔助功能選項。 | DisplayObject | ||
alpha : Number
指出所指定物件的 Alpha 透明度值。 | DisplayObject | ||
blendMode : String
來自 BlendMode 類別的值,會指定要使用何種混合模式。 | DisplayObject | ||
blendShader : Shader [唯寫]
設定用來混合前景和背景的著色器。 | DisplayObject | ||
buttonMode : Boolean
可指定此 sprite 的按鈕模式。 | Sprite | ||
cacheAsBitmap : Boolean
如果設定為 true,Flash 執行階段會快取顯示物件的內部點陣圖表示法。 | DisplayObject | ||
cacheAsBitmapMatrix : Matrix
如果為非 null,當 cacheAsBitmap 設定為 true 時,這個 Matrix 物件會定義顯示物件的顯示方法。 | DisplayObject | ||
constructor : Object
類別物件的參照或是特定物件實體的建構函數。 | Object | ||
content : DisplayObject [唯讀]
包含使用 load() 或 loadBytes() 方法載入之 SWF 檔案或影像檔 (JPG、PNG、或 GIF) 的根顯示物件。 | ProLoader | ||
contentLoaderInfo : ProLoaderInfo [唯讀]
傳回與載入中物件相對應的 ProLoaderInfo 物件。 | ProLoader | ||
contextMenu : NativeMenu
指定與此物件有關聯的快顯選單。 | InteractiveObject | ||
doubleClickEnabled : Boolean
會指定物件是否會收到 doubleClick 事件。 | InteractiveObject | ||
dropTarget : DisplayObject [唯讀]
指定要將 sprite 拖曳至或丟棄至哪個顯示物件上。 | Sprite | ||
filters : Array
索引的陣列,其中包含目前和顯示物件相關的每個濾鏡物件。 | DisplayObject | ||
focusRect : Object
會指定這個物件是否會顯示焦點矩形。 | InteractiveObject | ||
graphics : Graphics [唯讀]
指定屬於此 sprite 物件的 Graphics 物件,其中可能會產生向量繪圖命令。 | Sprite | ||
height : Number
會指出顯示物件的高度,以像素為單位。 | DisplayObject | ||
hitArea : Sprite
指定用來當作 sprite 作用區域的另一個 sprite。 | Sprite | ||
loaderInfo : LoaderInfo [唯讀]
會傳回 LoaderInfo 物件,其中包含關於載入此顯示物件所屬之檔案的資訊。 | DisplayObject | ||
mask : DisplayObject
呼叫之顯示物件會以指定的 mask 物件遮蓋。 | DisplayObject | ||
metaData : Object
如果中繼資料是透過 PlaceObject4 標籤與 SWF 檔案中的這個 DisplayObject 實體一同儲存,則會取得 DisplayObject 實體的中繼資料物件。 | DisplayObject | ||
mouseChildren : Boolean
判斷物件的子系是否支援啟用滑鼠或使用者輸入裝置。 | DisplayObjectContainer | ||
mouseEnabled : Boolean
指定此物件是否接收滑鼠或其他使用者輸入及訊息。 | InteractiveObject | ||
mouseX : Number [唯讀]
指出滑鼠或使用者輸入裝置位置的 x 座標,以像素為單位。 | DisplayObject | ||
mouseY : Number [唯讀]
指出滑鼠或使用者輸入裝置位置的 y 座標,以像素為單位。 | DisplayObject | ||
name : String
指出 DisplayObject 的實體名稱。 | DisplayObject | ||
needsSoftKeyboard : Boolean
指定虛擬鍵盤 (螢幕上的軟體鍵盤) 是否應在此 InteractiveObject 實體接收到焦點時顯示。 | InteractiveObject | ||
numChildren : int [唯讀]
傳回此物件的子系數量。 | DisplayObjectContainer | ||
opaqueBackground : Object
會指定顯示物件是否不透明,並具有特定背景顏色。 | DisplayObject | ||
parent : DisplayObjectContainer [唯讀]
指出包含此顯示物件的 DisplayObjectContainer 物件。 | DisplayObject | ||
root : DisplayObject [唯讀]
對載入之 SWF 檔案的顯示物件而言,root 屬性就是該 SWF 檔案所呈現之顯示清單樹狀結構部分的最上層顯示物件。 | DisplayObject | ||
rotation : Number
指出 DisplayObject 實體的旋轉度數 (從該物件原本方向算起)。 | DisplayObject | ||
rotationX : Number
表示 DisplayObject 實體相對於 3D 父輩容器從原始方向旋轉的 x 軸旋轉 (以度數為單位)。 | DisplayObject | ||
rotationY : Number
表示 DisplayObject 實體相對於 3D 父輩容器從原始方向旋轉的 y 軸旋轉 (以度數為單位)。 | DisplayObject | ||
rotationZ : Number
表示 DisplayObject 實體相對於 3D 父輩容器從原始方向旋轉的 z 軸旋轉 (以度數為單位)。 | DisplayObject | ||
scale9Grid : Rectangle
目前產生效用的縮放格線。 | DisplayObject | ||
scaleX : Number
指出從註冊點套用的物件水平縮放 (百分比)。 | DisplayObject | ||
scaleY : Number
指出從物件註冊點套用的物件垂直縮放 (百分比)。 | DisplayObject | ||
scaleZ : Number
指出從物件註冊點套用的物件深度縮放 (百分比)。 | DisplayObject | ||
scrollRect : Rectangle
顯示物件的捲動矩形範圍。 | DisplayObject | ||
softKeyboard : String
控制軟體鍵盤的外觀。 | InteractiveObject | ||
softKeyboardInputAreaOfInterest : Rectangle
定義顯示軟體鍵盤時,應保留於螢幕上的區域 (iOS 未提供)。 | InteractiveObject | ||
soundTransform : flash.media:SoundTransform
控制此 Sprite 的聲音。 | Sprite | ||
stage : Stage [唯讀]
顯示物件的「舞台」。 | DisplayObject | ||
tabChildren : Boolean
判斷物件的子系是否支援啟用定位鍵。 | DisplayObjectContainer | ||
tabEnabled : Boolean
會指定這個物件是否在停駐點順序中。 | InteractiveObject | ||
tabIndex : int
會指定 SWF 檔中的物件停駐點順序。 | InteractiveObject | ||
textSnapshot : flash.text:TextSnapshot [唯讀]
傳回此 DisplayObjectContainer 實體的 TextSnapshot 物件。 | DisplayObjectContainer | ||
transform : flash.geom:Transform
這是一個物件,具有和顯示物件的矩陣、顏色轉換和像素邊界有關的屬性。 | DisplayObject | ||
uncaughtErrorEvents : EventDispatcher [唯讀]
是一個物件,當這個 ProLoader 物件之 SWF 檔案的程式碼發生未處理的錯誤時,這個物件就會傳送 uncaughtError 事件。 | ProLoader | ||
useHandCursor : Boolean
指示當指標滑入 Sprite,且其 buttonMode 屬性設為 true 時,是否要出現指示手掌 (手掌游標) 的 Boolean 值。 | Sprite | ||
visible : Boolean
不管是否看得見顯示物件。 | DisplayObject | ||
width : Number
會指出顯示物件的寬度,以像素為單位。 | DisplayObject | ||
x : Number
指出 DisplayObject 實體相對於父輩 DisplayObjectContainer 之區域座標的 x 座標。 | DisplayObject | ||
y : Number
指出 DisplayObject 實體相對於父輩 DisplayObjectContainer 之區域座標的 y 座標。 | DisplayObject | ||
z : Number
表示 DisplayObject 實體相對於 3D 父輩容器的 z 座標位置 (沿著 z 軸)。 | DisplayObject |
方法 | 定義自 | ||
---|---|---|---|
建立一個 ProLoader 物件,可用來載入檔案 (如 SWF、JPEG、GIF,或是 PNG 檔)。 | ProLoader | ||
將 DisplayObject 子實體加入至此 DisplayObjectContainer 實體。 | DisplayObjectContainer | ||
將 DisplayObject 子實體加入至此 DisplayObjectContainer 實體。 | DisplayObjectContainer | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
會在 EventDispatcher 物件註冊事件偵聽程式,以便讓偵聽程式收到事件的通知。 | EventDispatcher | ||
指出安全性限制是否會造成傳回的清單 (可用指定的 point 點呼叫 DisplayObjectContainer.getObjectsUnderPoint() 方法來取得) 省略任何顯示物件。 | DisplayObjectContainer | ||
取消 ProLoader 實體目前正在進行的 load() 方法作業。 | ProLoader | ||
判斷指定的顯示物件是否為 DisplayObjectContainer 實體的子系,或為實體本身。 | DisplayObjectContainer | ||
會將事件傳送到事件流程。 | EventDispatcher | ||
傳回可定義顯示物件區域 (相對於 targetCoordinateSpace 物件的座標系統) 的矩形。 | DisplayObject | ||
傳回存在於指定索引位置的子顯示物件實體。 | DisplayObjectContainer | ||
傳回具有指定名稱的子顯示物件。 | DisplayObjectContainer | ||
傳回 child DisplayObject 實體的索引位置。 | DisplayObjectContainer | ||
傳回位於指定點底下,且屬於此 DisplayObjectContainer 實體之子系 (或孫系,以下類推) 的物件陣列。 | DisplayObjectContainer | ||
根據 targetCoordinateSpace 參數所定義的座標系統,並排除形狀上的任何筆畫,傳回可定義顯示物件邊界的矩形。 | DisplayObject | ||
將 point 物件從「舞台」(全域) 座標轉換成顯示物件的 (區域) 座標。 | DisplayObject | ||
將二維點從「舞台」(全域) 座標轉換為三維顯示物件的 (區域) 座標。 | DisplayObject | ||
會檢查 EventDispatcher 物件是否有對特定的事件類型註冊偵聽程式。 | EventDispatcher | ||
指出物件是否有已定義的指定屬性。 | Object | ||
評估顯示物件的範圍框,看它是否與 obj 顯示物件的範圍框重疊或相交。 | DisplayObject | ||
評估顯示物件,看它是否與 x 和 y 參數所指定的點重疊或相交。 | DisplayObject | ||
指出 Object 類別的實體是否位於指定為參數的物件原型鏈中。 | Object | ||
將 SWF、JPEG、漸進式 JPEG、不含動畫的 GIF,或 PNG 檔載入此 ProLoader 物件的子物件中。 | ProLoader | ||
載入儲存在 ByteArray 物件中的二進位資料。 | ProLoader | ||
透過 promise 參數載入 IFilePromise 實體。 | ProLoader | ||
將三維顯示物件的 (區域) 座標的三維點轉換為「舞台」(全域) 座標中的二維點。 | DisplayObject | ||
將 point 物件從顯示物件的 (區域) 座標轉換成「舞台」(全域) 座標。 | DisplayObject | ||
指出指定的屬性是否存在,以及是否可列舉。 | Object | ||
將指定的 child DisplayObject 實體從 DisplayObjectContainer 實體的子清單中移除。 | DisplayObjectContainer | ||
從 DisplayObjectContainer 子清單中的指定索引位置移除子 DisplayObject。 | DisplayObjectContainer | ||
將所有 child DisplayObject 實體從 DisplayObjectContainer 實體的子清單中移除。 | DisplayObjectContainer | ||
會從 EventDispatcher 物件移除偵聽程式。 | EventDispatcher | ||
升起顯示虛擬鍵盤。 | InteractiveObject | ||
變更顯示物件容器中現有子系的位置。 | DisplayObjectContainer | ||
為迴圈作業設定動態屬性的可用性。 | Object | ||
讓使用者拖曳指定的 sprite。 | Sprite | ||
讓使用者將指定的 Sprite 拖曳至觸控裝置上。 | Sprite | ||
遞迴停止執行所有 MovieClips 的時間軸根源於此物件。 | DisplayObjectContainer | ||
結束 startDrag() 方法。 | Sprite | ||
結束觸控裝置使用的 startTouchDrag() 方法。 | Sprite | ||
替換兩個指定子物件的 z 順序 (深度階層,由前至後順序)。 | DisplayObjectContainer | ||
在子清單的兩個指定索引位置,替換子物件的 z 順序 (深度階層,由前至後順序)。 | DisplayObjectContainer | ||
傳回代表此物件的字串,根據地區特定慣例進行格式化。 | Object | ||
會傳回指定之物件的字串形式。 | Object | ||
移除使用 load() 方法載入之 ProLoader 物件的子系。 | ProLoader | ||
會傳回指定之物件的基本值。 | Object | ||
檢查此 EventDispatcher 物件是否已註冊事件偵聽程式,或者此物件的任何祖系已為特定事件類型註冊事件偵聽程式。 | EventDispatcher |
content | 屬性 |
content:DisplayObject
[唯讀] 語言版本: | ActionScript 3.0 |
產品版本: | Flash CS5.5 |
執行階段版本: | AIR 1.0, Flash Player 9 |
包含使用 load()
或 loadBytes()
方法載入的 SWF 檔案或影像檔 (JPG、PNG、或 GIF) 的根顯示物件。
實作
public function get content():DisplayObject
擲回值
SecurityError — 載入的 SWF 檔案或影像檔屬於您無法存取的安全執行程序。 如果是載入的 SWF 檔,您可以在呼叫 load() 或 loadBytes() 方法時,讓檔案呼叫 Security.allowDomain() 方法,或讓載入中的檔案指定 loaderContext 參數,便可以將 securityDomain 屬性設為 SecurityDomain.currentDomain 並避免這個情況發生。
|
contentLoaderInfo | 屬性 |
contentLoaderInfo:ProLoaderInfo
[唯讀] 語言版本: | ActionScript 3.0 |
產品版本: | Flash CS5.5 |
執行階段版本: | AIR 1.0, Flash Player 9 |
傳回與載入中物件相對應的 ProLoaderInfo 物件。ProLoader 物件與載入的內容物件會共用 ProLoaderInfo 物件。ProLoaderInfo 物件會提供與載入檔案相關的載入進度資訊與統計資料。
與載入有關的事件都會由 ProLoaderInfo 物件 (由 ProLoader 物件的 contentLoaderInfo
屬性所參照) 來傳送。contentLoaderInfo
屬性設定為有效的 ProLoaderInfo 物件,即使在內容載入之前也一樣,這樣您就能在載入之前,將事件偵聽程式加入物件中。
若要偵測載入 SWF 時未捕捉到的錯誤,請使用 ProLoader.uncaughtErrorEvents
屬性,不要使用 ProLoader.contentLoaderInfo.uncaughtErrorEvents
屬性。
注意 contentLoaderInfo 屬性會傳回 ProLoaderInfo 物件。ProLoaderInfo 不是 LoaderInfo 的子類別,無法讓您以隱含方式轉換為父類別。因此,請務必將您的類型宣告從 LoaderInfo 更改為 ProLoaderInfo。
實作
public function get contentLoaderInfo():ProLoaderInfo
uncaughtErrorEvents | 屬性 |
uncaughtErrorEvents:EventDispatcher
[唯讀] 語言版本: | ActionScript 3.0 |
產品版本: | Flash CS5.5 |
執行階段版本: | Flash Player 10.1, AIR 2.0 |
是一個物件,當這個 ProLoader 物件之 SWF 檔案的程式碼發生未處理的錯誤時,這個物件就會傳送 uncaughtError
事件。在任何 try..catch
區塊外面發生錯誤時,或傳送的 ErrorEvent 物件沒有註冊偵聽程式時,就會發生未捕捉到的錯誤。
當此物件相關的 SWF 載入完成之後,就會建立這個屬性。直到 uncaughtErrorEvents
屬性變成 null
為止。在僅有 ActionScript 的專案中,您可以在執行 SWF 檔案主要類別的建構函數期間或之後存取此屬性。
在不支援的播放程式中存取這個 ProLoader 屬性會產生錯誤。傳回 EventDispatcher 物件,而非 UncaughtErrorEvents 物件,以避免在不支援的播放程式中產生錯誤。
實作
public function get uncaughtErrorEvents():EventDispatcher
相關 API 元素
ProLoader | () | 建構函式 |
public function ProLoader()
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS5.5 |
執行階段版本: | AIR 1.0, Flash Player 9 |
建立一個 ProLoader 物件,可用來載入檔案 (如 SWF、JPEG、GIF,或是 PNG 檔)。呼叫 load()
方法,將資源做為 ProLoader 實體的子系載入。接著,您可以將 ProLoader 物件加入顯示清單 (例如,您可以使用 DisplayObjectContainer 實體的 addChild()
方法)。資源會在載入「舞台」時顯示。
您也可以在「清單外」使用 ProLoader 實體,也就是說,不要將它加入至顯示清單中的顯示物件容器。在這種模式裡,您可以使用 Loader 實體載入包含額外應用程式模組的 SWF 檔案。
若要偵測 SWF 檔案是否已經完成載入,您可以使用與 ProLoader 物件的 contentLoaderInfo
屬性關聯之 ProLoaderInfo 物件的事件。在這個階段,可以執行 SWF 檔案模組中的程式碼來初始化並起始模組。 在「清單外」模式中,您也可以使用 ProLoader 實體來載入包含組件或媒體資源的 SWF 檔案。同樣,您也可以使用 ProLoaderInfo 物件事件通知來偵測組件是否已經完成載入。在這個階段,應用程式會實體化代表這些元件與資源的 ActionScript 3.0 類別,以使用 SWF 檔案元件庫的組件與媒體資源開始動作。
若要判斷 ProLoader 物件的狀態,請監視下列與 ProLoader 物件之 contentLoaderInfo
屬性關聯的 ProLoaderInfo 物件事件:
- 開始載入時,會傳送
open
事件。 - 如果無法載入檔案,或者載入程序當中發生錯誤,便會傳送
ioError
或securityError
事件。 - 在載入檔案的過程中,會持續觸發
progress
事件。 - 當檔案下載完成,但是尚未取得載入的影片片段的方法和屬性之前,會傳送
complete
事件。如果載入的 SWF 檔案使用 RSL 預先載入,則這個事件會在 RSL 預先載入完成後傳送。現在,實際內容可以在content
屬性中取得。 - 一旦取得了載入的 SWF 檔案之屬性與方法,便會傳送
init
事件,方便您開始操作載入的 SWF 檔案。 這個事件會在complete
處理常式之前傳送。 在串流 SWF 檔案時,init
事件的發生時間會比complete
事件提早很多。 在大部分的情況下,請使用init
處理常式。如果載入的 SWF 檔案使用 RSL 預先載入,則這個事件會在 RSL 預先載入完成後傳送。現在,實際內容可以在content
屬性中取得。
相關 API 元素
close | () | 方法 |
public function close():void
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS5.5 |
執行階段版本: | AIR 1.0, Flash Player Player - 9 |
取消 ProLoader 實體目前正在進行的 load()
方法作業。
load | () | 方法 |
public function load(request:URLRequest, context:LoaderContext = null):void
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS5.5 |
執行階段版本: | Flash Player 9, AIR 1.0, Flash Player Player - 9 |
將 SWF、JPEG、漸進式 JPEG、不含動畫的 GIF,或 PNG 檔載入此 ProLoader 物件的子物件中。如果載入內含動畫的 GIF 檔案,則只會顯示第一個影格。 由於 ProLoader 物件只能包含一個子系,當您後續發出 load()
要求時,會終止上一個要求 (如果上一個要求正等候執行的話),然後開始新的載入作業。
注意:在 AIR 1.5 和 Flash Player 10 中,載入的影像大小上限為 8,191 像素寬度或高度,且像素總計不得超過 16,777,215 像素 (因此,如果載入的影像寬度為 8,191 像素,則其高度上限為 2,048 像素)。若為 Flash Player 9 和 AIR 1.1 及其更早版本,高度和寬度的上限都是 2,880 像素。
載入 ProLoader 物件的 SWF 檔案或影像會繼承 ProLoader 物件之上層顯示物件的位置、旋轉與縮放屬性。
請使用 unload()
方法,將使用此方法載入的影片或影像移除,或是取消正在進行中的載入作業。
您可以拒絕 SWF 檔使用這個方法,方式是在包含 SWF 內容的 HTML 網頁中,設定 object
和 embed
標籤的 allowNetworking
參數。
當您使用這個方法時,請考慮 ProLoader 類別說明中所述的 Flash Player 安全性模型。
在 Flash Player 10 和更新版本中,如果您使用包含上載 (由 POST 主體中 "content-disposition" 檔頭的 "filename" 參數指示) 的多部分 Content-Type (例如 "multipart/form-data"),POST 作業會受限於上載所套用的安全性規則:
- 必須執行 POST 作業,以回應使用者啟動的動作 (例如按下滑鼠或按下按鍵)。
- 如果 POST 作業會跨越網域 (POST 目標與傳送 POST 要求的 SWF 檔不在同一部伺服器上),目標伺服器必須提供允許跨網域存取的 URL 原則。
此外,多部分的 Content-Type 語法必須有效 (符合 RFC2046 標準)。如果語法無效,POST 作業會受限於上載所套用的安全性規則。
如需安全性詳細資訊,請參閱「Flash Player 開發人員中心」主題:安全性。
參數
request:URLRequest — 要載入的 SWF、JPEG、GIF 或 PNG 檔的絕對或相對 URL。 相對路徑必須相對於主要 SWF 檔案。 絕對 URL 必須包含通訊協定參照,例如 http:// 或 file:///。 檔案名稱不能包含磁碟機的規格。
| |
context:LoaderContext (default = null ) — LoaderContext 物件,具有定義下列事項的屬性:
如果 如需完整清單,請參閱 LoaderContext 類別中的屬性說明。 |
事件
asyncError: — 如果已經指定 LoaderContext.requestedContentParent 屬性,而且無法將載入的內容做為子系新增至指定的 DisplayObjectContainer,則會由 contentLoaderInfo 物件傳送。如果載入的內容是 flash.display.AVM1Movie ,或者如果 addChild() 呼叫 requestedContentParent 時擲出錯誤,便可能會發生此狀況。
| |
complete: — 在檔案已經完成載入時,由 contentLoaderInfo 物件傳送。complete 事件一定會在 init 事件之後傳送。
| |
httpStatus: — 在透過 HTTP 發出網路要求,而且 Flash Player 可以偵測 HTTP 狀態碼時,由 contentLoaderInfo 物件傳送。
| |
init: — 在可存取載入之 SWF 檔的屬性與方法時,由 contentLoaderInfo 物件傳送。init 事件一定會在 complete 事件之前發生。
| |
ioError: — 當發生輸入或輸出錯誤而導致載入作業失敗時,由 contentLoaderInfo 物件傳送。
| |
open: — 在載入作業開始時,由 contentLoaderInfo 物件傳送。
| |
progress: — 在載入作業進行期間收到資料時,由 contentLoaderInfo 物件傳送。
| |
securityError: — 如果具有檔案系統的本機安全執行程序中的 SWF 檔嘗試載入具有網路連線的本機安全執行程序中的內容,由 contentLoaderInfo 物件傳送,反之亦然。
| |
securityError: — 如果已經指定 LoaderContext.requestedContentParent 屬性,而且 LoaderContext.requestedContentParent 的安全執行程序無法存取載入的 SWF,則會由 contentLoaderInfo 物件傳送。
| |
unload: — 移除已載入的物件時,由 contentLoaderInfo 物件傳送。
|
擲回值
IOError — request 物件的 digest 屬性不是 null 。只有在載入 SWZ 檔 (Adobe 平台組件) 過程中呼叫 URLLoader.load() 方法時,才需設定 URLRequest 物件的 digest 屬性。
| |
SecurityError — LoaderContext.securityDomain 的值必須為 null 或 SecurityDomain.currentDomain 。 在此所反映的事實是,您只能將載入的媒體放入其自然的安全執行程序,或是您自己的安全執行程序中 (後者需要原則檔才能進行)。
| |
SecurityError — 本機 SWF 檔案只能將 LoaderContext.securityDomain 設為 null 。 您不可以將非本機媒體匯入本機安全執行程序,或將其他本機媒體放入其自然安全執行程序以外的安全執行程序中。
| |
SecurityError — 您不可以連接到常用的保留連接埠。完整的封鎖連接埠清單,請參閱在「ActionScript 3.0 開發人員指南」中的「限制網路 API」。
| |
SecurityError — 如果 context 參數的 applicationDomain 或 securityDomain 屬性來自不允許的網域。
| |
SecurityError — 如果本機 SWF 檔案嘗試使用 context 參數的 securityDomain 屬性。
| |
IllegalOperationError — 如果 context 參數的 requestedContentParent 屬性為 ProLoader 。
| |
IllegalOperationError — 如果將 LoaderContext.parameters 參數設為非 null,且部分值不是字串。
|
相關 API 元素
loadBytes | () | 方法 |
public function loadBytes(bytes:ByteArray, context:LoaderContext = null):void
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS5.5 |
執行階段版本: | Flash Player 9, AIR 1.0, Flash Player 9 |
載入儲存在 ByteArray 物件中的二進位資料。
loadBytes()
方法是非同步的方法。在存取載入物件的屬性前,您必須等候 "init" 事件。
當您使用這個方法時,請考慮 ProLoader 類別說明中所述的 Flash Player 安全性模型。
參數
bytes:ByteArray — ByteArray 物件。 ByteArray 內容可以是 ProLoader 類別所支援的任何檔案格式:SWF、GIF、JPEG 或 PNG。
| |
context:LoaderContext (default = null ) — LoaderContext 物件。 只會套用 LoaderContext 物件的 applicationDomain 屬性,而不會套用 LoaderContext 物件的 checkPolicyFile 和 securityDomain 屬性。
如果 如需安全性詳細資訊,請參閱「Flash Player 開發人員中心」主題:安全性。 |
事件
asyncError: — 如果已經指定 LoaderContext.requestedContentParent 屬性,而且無法將載入的內容做為子系新增至指定的 DisplayObjectContainer,則會由 contentLoaderInfo 物件傳送。如果載入的內容是 flash.display.AVM1Movie ,或者如果 addChild() 呼叫 requestedContentParent 時擲出錯誤,便可能會發生此狀況。
| |
complete: — 當作業完成時,由 contentLoaderInfo 物件傳送。complete 事件一定會在 init 事件之後傳送。
| |
init: — 在可存取載入之資料的屬性與方法時,由 contentLoaderInfo 物件傳送。init 事件一定會在 complete 事件之前發生。
| |
ioError: — 當執行階段無法剖析位元組陣列中的資料時,由 contentLoaderInfo 物件傳送。
| |
open: — 在作業開始時,由 contentLoaderInfo 物件傳送。
| |
progress: — 當資料在記憶體中傳輸時,由 contentLoaderInfo 物件傳送。
| |
securityError: — 如果已經指定 LoaderContext.requestedContentParent 屬性,而且 LoaderContext.requestedContentParent 的安全執行程序無法存取載入的 SWF,則會由 contentLoaderInfo 物件傳送。
| |
unload: — 移除已載入的物件時,由 contentLoaderInfo 物件傳送。
|
擲回值
ArgumentError — 如果 ByteArray 物件的 length 屬性沒有大於零 (0)。
| |
IllegalOperationError — 如果 context 參數的 checkPolicyFile 或 securityDomain 屬性為非 null。
| |
IllegalOperationError — 如果 context 參數的 requestedContentParent 屬性為 ProLoader 。
| |
IllegalOperationError — 如果將 LoaderContext.parameters 參數設為非 null,且部分值不是字串。
| |
SecurityError — 如果所提供的 context 屬性的 applicationDomain 屬性來自不允許的網域。
| |
SecurityError — 您不可以連接到常用的保留連接埠。完整的封鎖連接埠清單,請參閱在「ActionScript 3.0 開發人員指南」中的「限制網路 API」。
|
相關 API 元素
loadFilePromise | () | 方法 |
public function loadFilePromise(promise:Object, context:LoaderContext = null):void
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS5.5 |
執行階段版本: | AIR 2.5, AIR 2.0, Flash Player 9 |
透過 promise
參數載入 IFilePromise 實體。promise
參數的類型使用 Object 父類別而非 IFilePromise,以避免其他播放程式發生錯誤。
loadFilePromise
方法接受 IFilePromise
物件並載入二進位資料。若資料為視訊之類的漸進式串流,請在存取載入物件的屬性之前,等待 "init" 或進度事件。否則,請等待完整的事件,以確認完整載入資料。
當您使用這個方法時,請考慮 ProLoader 類別說明中所述的 Flash Player 安全性模型。
參數
promise:Object — IFilePromise 物件。物件的資料來源可以是 ProLoader 類別所支援的任何檔案格式:SWF、GIF、JPEG 或 PNG。
| |
context:LoaderContext (default = null ) — LoaderContext 物件。 只會套用 LoaderContext 物件的 applicationDomain 屬性,而不會套用 LoaderContext 物件的 checkPolicyFile 和 securityDomain 屬性。
如果 如需安全性詳細資訊,請參閱「Flash Player 開發人員中心」主題:安全性。 |
事件
asyncError: — 如果已經指定 LoaderContext.requestedContentParent 屬性,而且無法將載入的內容做為子系新增至指定的 DisplayObjectContainer,則會由 contentLoaderInfo 物件傳送。如果載入的內容是 flash.display.AVM1Movie ,或者如果 addChild() 呼叫 requestedContentParent 時擲出錯誤,便可能會發生此狀況。
| |
complete: — 當作業完成時,由 contentLoaderInfo 物件傳送。complete 事件一定會在 init 事件之後傳送。
| |
init: — 在可存取載入之資料的屬性與方法時,由 contentLoaderInfo 物件傳送。init 事件一定會在 complete 事件之前發生。
| |
ioError: — 當執行階段無法剖析資料來源中的資料或無法讀取資料來源串流時,會由 contentLoaderInfo 物件傳送。
| |
open: — 在作業開始時,由 contentLoaderInfo 物件傳送。
| |
progress: — 當資料在記憶體中傳輸時,由 contentLoaderInfo 物件傳送。
| |
securityError: — 如果已經指定 LoaderContext.requestedContentParent 屬性,而且 LoaderContext.requestedContentParent 的安全執行程序無法存取載入的 SWF,則會由 contentLoaderInfo 物件傳送。
| |
unload: — 移除已載入的物件時,由 contentLoaderInfo 物件傳送。
警告 在 AIR 應用程式之外存取此 API 會產生錯誤。 |
擲回值
IllegalOperationError — 如果 context 參數的 requestedContentParent 屬性為 ProLoader 物件。
| |
IllegalOperationError — 如果將 LoaderContext.parameters 參數設為非 null,且部分值不是字串。
| |
ArgumentError — 如果以參數傳遞的 IFilePromise 物件為 Null
|
相關 API 元素
unload | () | 方法 |
public function unload():void
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS5.5 |
執行階段版本: | AIR 1.0, Flash Player 9 |
移除使用 load()
方法載入 ProLoader 物件的子系。與 ProLoaderInfo 物件關聯的 property
會重設為 null
。由於其他物件不見得會參照此子系,因此不一定會移除此子系;然而,此子系將不再屬於 ProLoader 物件的子系。
在您取消載入 SWF 子檔案時,最好的方法就是明確地關閉任何位於 SWF 子檔案物件 (例如 LocalConnection、NetConnection、NetStream,與 Sound 物件) 中的串流。 否則,SWF 子檔案中的聲音可能會繼續播放,就算取消載入 SWF 子檔案也是一樣。 若要關閉 SWF 子檔案中的串流,請將事件偵聽程式加入至 unload
事件所偵聽的子系。 當父輩呼叫 ProLoader.unload()
時,unload
事件便會傳送到子系。下列程式碼將向您說明所應採取的方式:
function closeAllStreams(evt:Event) { myNetStream.close(); mySound.close(); myNetConnection.close(); myLocalConnection.close(); } myMovieClip.loaderInfo.addEventListener(Event.UNLOAD, closeAllStreams);
相關 API 元素
Tue Jun 12 2018, 03:47 PM Z