|
flash.display.Loader可以做到
將 SWF,、JPEG,、漸進式 JPEG、非動畫 GIF 或 PNG 文件加載到此 Loader 對象的子對象中,。如果加載 GIF 動畫文件,,將僅顯示第一幀。由于 Loader 對象可以只包含一個子級,,因此,,發(fā)出后續(xù) load() 請求將終止先前的請求,如果仍然存在未處理的請求,,則會開始新的加載,。
加載到 Loader 對象中的 SWF 文件或圖像會繼承該 Loader 對象的父顯示對象的位置、旋轉(zhuǎn)和縮放屬性,。
使用 unload() 方法可刪除用此方法加載的影片或圖像,,或者取消正在進行中的加載操作。
在使用 load() 方法時,,請考慮 Flash Player 或 Adobe AIR 的安全模型:
您可以加載來自任何可訪問源的內(nèi)容,。
如果執(zhí)行調(diào)用的 SWF 文件位于網(wǎng)絡(luò)沙箱中并且要加載的文件是本地的,則不允許加載,。
如果加載的內(nèi)容為 SWF 文件,,那么除非可以通過調(diào)用加載的內(nèi)容文件中的 Security.allowDomain() 方法來允許跨腳本排列,否則另一個安全沙箱中的 SWF 文件不能對它執(zhí)行腳本操作,。
加載為 AVM1Movie 對象的 SWF 文件(用 ActionScript 1.0 或 2.0 編寫的)不能對加載為 Sprite 或 MovieClip 對象的 SWF 文件(用 ActionScript 3.0 編寫的)執(zhí)行跨腳本操作,。但是,,可以使用 LocalConnection 類使這些文件能夠互相通信。
如果加載的內(nèi)容為圖像,,那么除非該 SWF 文件的域包含在該圖像原始域的跨域策略文件中,,否則安全沙箱之外的 SWF 文件無法訪問其數(shù)據(jù)。
在只能與本地文件系統(tǒng)的內(nèi)容交互的沙箱中的影片剪輯不能對只能與遠程內(nèi)容交互的沙箱中的影片剪輯使用腳本,,反之亦然,。
可以在包含 SWF 內(nèi)容的 HTML 頁中設(shè)置 object 和 embed 標簽的 allowNetworking 參數(shù),防止 SWF 文件使用此方法,。
但在 Apollo 運行時中,,application 安全沙箱中的內(nèi)容(使用 Apollo 應(yīng)用程序安裝的內(nèi)容)不受這些安全限制的約束。
|