получить URL от URLLoader? - PullRequest
       10

получить URL от URLLoader?

3 голосов
/ 01 августа 2009

Есть ли простой / хороший способ получения URL-адреса от объекта URLLoader ? Кажется, по крайней мере два других человека ( этот парень и этот этот парень ) задались вопросом о том же. Может быть, мы можем получить ответ здесь на кого-то?

Ответы [ 2 ]

8 голосов
/ 01 августа 2009
package
{

import flash.net.URLLoader;
import flash.net.URLRequest;

public dynamic class urlURLLoader extends URLLoader
{

    private var _req:URLRequest;

    public function urlURLLoader( request:flash.net.URLRequest = null ):void
    {   super( request );
        _req = request;
    }

    public override function load( request:flash.net.URLRequest ):void
    {   _req = request;
        super.load( request );
    }

    public function get urlRequest( ):URLRequest
    {   return _req;
    }

}
1 голос
/ 01 августа 2009

Это хороший подход. Обратный подход заключается в том, чтобы заключить ваш URLLoader в класс и сохранить там информацию, если вы хотите, чтобы запрашивающий класс был проинформирован о том, что загрузка завершена и какой URL был успешно загружен.

Вы бы получили к нему что-то вроде

customLoader.url="http://.....";
customLoader.onLoadDelegate = this;
customLoader.load();

и ждать обратного вызова в

public function customLoaderComplete(url:String, data:[Object or whatever you set]) {

}

в классе customLoader вы сохраняете URL и делегируете

private var url:String;
private var onLoadDelegate:Object;

public function set url(_url:String):void {
  url = _url;
}

public function set onLoadDelegate(_onLoadDelegate:Object):void {
  onLoadDelegate = _onLoadDelegate;
}

затем вы создаете запрос, URLLoader и т. Д. И настраиваете прослушиватель Event.COMPLETE для запуска функции, которая сообщает делегату

public function dataLoaded(event:Event):void {

   .. parse event.target.data if needed...

    onLoadDelegate.customLoaderComplete(url, data);

}

Если вы сделаете еще один шаг, класс «выдачи запросов» верхнего уровня может придерживаться интерфейса / расширять базовый класс, чтобы вам не приходилось использовать анонимные объекты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...