2011-04-21 51 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); 

希望帮助

享受:)

相关问题