2011-04-21 22 views
1

我想在一行中使用的URLLoader,但我知道,Internet Explorer已經給了我當聽者的load呼叫後添加加載本地文件的問題。有更簡潔的方式來使用URLLoader嗎?

new URLLoader(new URLRequest('http://example.com')).addEventListener(
    Event.COMPLETE, handleLoadedData 
); 

我知道使用的URLLoader的詳細,但安全的方式是:

var request:URLRequest = new URLRequest('http://example.com'); 
var loader:URLLoader = new URLLoader(); 
loader.addEventListener(Event.COMPLETE, handleLoadedData); 
loader.load(request); 

什麼用的URLLoader與本地文件工作的最簡潔的方式?

回答

0

如何創建一個類,提供一種簡單的方式來加載數據並重用它?

我的意思是簡單的東西是這樣的:

package yourdomain.net 
{ 
    import flash.events.Event; 
    import flash.net.URLLoader; 
    import flash.net.URLRequest; 

    public class DataLoader { 

     public var url:String; 
     public var completeCallback:Function; 

     private var loader:URLLoader; 

     public function DataLoader(url:String, completeCallback:Function) { 
      this.url = url; 
      this.completeCallback = completeCallback; 
     } 

     public function load():void { 
      var request:URLRequest = new URLRequest(url); 
      loader = new URLLoader(); 
      loader.addEventListener(Event.COMPLETE, this.completeCallback); 
      loader.load(request);   
     } 

     public static function load(url:String, completeCallback:Function):void { 
      var dataLoader:DataLoader = new DataLoader(url, completeCallback); 
      dataLoader.load(); 
     } 
    } 
} 

然後,你會用它,在這樣一行:

DataLoader.load('http://example.com',handleDataComplete); 

我已經提出了類似的想法here。這基本上是一樣的想法,只是增加了一些基本的錯誤處理。

0

做一些代碼:)和休息,然後 使靜態方法AS3類像

public final class MyLoaders{ 
    static public function dataLoader(var url:String, listener:Function):URLLoader{ 
     // Code Here 
    } 
} 

您可以在APP的任何地方調用裝載機

MyLoaders.dataLoader(url, listener); 

希望幫助

享受:)

相關問題