Adobe® Flash® Platform için ActionScript® 3.0 Başvurusu
Ana Sayfa  |  Paket ve Sınıf Listesini Gizle |  Paketler  |  Sınıflar  |  Yenilikler  |  Dizin  |  Ekler  |  Niçin İngilizce?
Filtreler: Sunucudan Veri Alınıyor...
Sunucudan Veri Alınıyor...
flash.net 

URLLoader  - AS3

Paketflash.net
Sınıfpublic class URLLoader
Miras AlmaURLLoader Inheritance EventDispatcher Inheritance Object
Alt Sınıflar AVURLLoader

Dil Sürümü: ActionScript 3.0
Çalışma Zamanı Sürümleri: AIR 1.0, Flash Player 9, Flash Lite 4

URLLoader sınıfı bir URL'den metin, ikili veri veya URL olarak kodlanmış değişkenler olarak veri indirir. Dinamik bir veri tabalı uygulamada kullanılacak metin dosyalarını, XML veya diğer bilgileri indirmek için kullanılabilir.

Uygulamalardaki kod tarafından kullanılabilir hale gelmeden önce URLLoader nesnesi bir URL'den tüm verileri indirir. İndirme işlemindeki ilerleme hakkında bildirimler gönderir. Bu bildirimleri bytesLoaded ve bytesTotal özelliklerinin yanı sıra gönderilen olaylar üzerinden izleyebilirsiniz.

FLV'ler gibi çok büyük video dosyaları yüklenirken, bellek dolu hataları oluşabilir.

Bu sınıfı, uygulama güvenlik sanal alanı dışındaki güvenlik sanal alanlarında yer alan Flash Player ve AIR uygulaması içeriği için kullandığınızda, aşağıdaki güvenlik modelini dikkate alın:

  • Dosya sistemine sahip yerel sanal alandaki bir SWF dosyası, ağ sanal alanındaki bir kaynaktan veya ağ sanal alanındaki bir kaynağa veri yükleyemeyebilir.
  • Varsayılan olarak, çağıran SWF dosyası ve yüklediğiniz URL tamamen aynı etki alanında olmalıdır. Örneğin www.adobe.com adresindeki bir SWF dosyası yalnızca www.adobe.com adresinde bulunan kaynaklardan veri yükleyebilir. Farklı bir etki alanından veri yüklemek için, verileri barındıran sunucuya bir URL ilke dosyası yerleştirin.

Güvenlikle ilgili daha fazla bilgi için, bkz. Flash Player Geliştirici Merkezi Konusu: Güvenlik.

Örnekleri görüntüle

İlgili API Öğeleri



Genel Özellikler
 ÖzellikTanımlayan:
  bytesLoaded : uint = 0
Yükleme sırasında şimdiye kadar gönderilen bayt sayısını gösterir.
URLLoader
  bytesTotal : uint = 0
İndirilen verideki toplam bayt sayısını gösterir.
URLLoader
 Inheritedconstructor : Object
Belirli bir nesne örneği için sınıf nesnesine veya yapıcı işlevine bir başvuru.
Object
  data : *
Yükleme işleminden alınan veriler.
URLLoader
  dataFormat : String = "text"
İndirilen veri metin olarak mı (URLLoaderDataFormat.TEXT), ham ikili veri mi (URLLoaderDataFormat.BINARY) yoksa URL kodlamalı değişkenler olarak mı (URLLoaderDataFormat.VARIABLES) alınıyor, kontrol eder.
URLLoader
Genel Yöntemler
 YöntemTanımlayan:
  
URLLoader(request:URLRequest = null)
Bir URLLoader nesnesi oluşturur.
URLLoader
  
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
[geçersiz kıl] EventDispatcher nesnesi olan bir olay dinleyici nesnesini, dinleyicinin bir olayın bildirimini alması için kaydeder.
URLLoader
  
İlerlemekte olan yükleme işlemini kapatır.
URLLoader
 Inherited
Olay akışına bir olay gönderir.
EventDispatcher
 Inherited
EventDispatcher nesnesinin belirli bir olay türü için kayıtlı dinleyicisi olup olmadığını kontrol eder.
EventDispatcher
 Inherited
Bir nesnenin belirli bir özelliğinin tanımlı olup olmadığını gösterir.
Object
 Inherited
Object sınıfının bir örneğinin parametre olarak belirtilen nesnenin prototip zincirinde olup olmadığını gösterir.
Object
  
Belirtilen URL'ye veri gönderip yükler.
URLLoader
 Inherited
Belirtilen özelliğin bulunup bulunmadığını ve numaralandırılabilir olup olmadığını gösterir.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
EventDispatcher nesnesinden bir dinleyiciyi kaldırır.
EventDispatcher
 Inherited
Dinamik bir özelliğin döngü işlemlerinde kullanılabilirliğini ayarlar.
Object
 Inherited
Bu nesnenin, yerel ayara özel kurallara göre biçimlendirilmiş dize temsilini döndürür.
Object
 Inherited
Belirtilen nesnenin dize olarak temsil edilen halini döndürür.
Object
 Inherited
Belirtilen nesnenin temel değerini döndürür.
Object
 Inherited
Bir olay dinleyicisinin bu EventDispatcher nesnesiyle mi, yoksa onun belirtilen olay türüne yönelik üst öğelerinden biriyle mi kayıtlı olduğunu kontrol eder.
EventDispatcher
Olaylar
 Olay Özet Tanımlayan:
 Inherited[broadcast olayı] Flash Player veya AIR uygulaması işletim sistemi odağına gelip etkin olduğunda gönderilir.EventDispatcher
  Alınan tüm verilerin kodu çözüldükten ve URLLoader nesnesinin data özelliğine yerleştirildikten sonra gönderilir.URLLoader
 Inherited[broadcast olayı] Çalışan Flash Player veya AIR uygulaması sistem odağını kaybettiğinde ve etkin olmayan duruma geldiğinde gönderilir.EventDispatcher
  load() yöntemine yapılan bir çağrı HTTP üzerinden verilere erişmeye çalışıyorsa ve Adobe AIR, istek için durum kodunu algılayıp döndürebiliyorsa gönderilir.URLLoader
  URLLoader.load() yöntemine yapılan bir çağrı HTTP üzerinden verilere erişmeye çalışıyorsa gönderilir.URLLoader
  URLLoader.load() öğesine yapılan bir çağrı, indirme işlemini sonlandıran kritik bir hatayla sonuçlanırsa gönderilir.URLLoader
  URLLoader.load() yöntemine yapılan bir çağrıyı izleyen indirme işlemi başladığında gönderilir.URLLoader
  İndirme işlemi ilerlerken veri alındığında gönderilir.URLLoader
  URLLoader.load() öğesine yapılan bir çağrı, güvenlik sanal alanının dışındaki bir sunucudan veri yüklemeye çalıştığında gönderilir.URLLoader
Özellik Ayrıntısı

bytesLoaded

özellik
public var bytesLoaded:uint = 0

Dil Sürümü: ActionScript 3.0
Çalışma Zamanı Sürümleri: AIR 1.0, Flash Player 9, Flash Lite 4

Yükleme sırasında şimdiye kadar gönderilen bayt sayısını gösterir.

bytesTotal

özellik 
public var bytesTotal:uint = 0

Dil Sürümü: ActionScript 3.0
Çalışma Zamanı Sürümleri: AIR 1.0, Flash Player 9, Flash Lite 4

İndirilen verideki toplam bayt sayısını gösterir. Yükleme işlemi devam ederken bu özellik 0 değerini içerir ve işlem tamamlandığında doldurulur. Ayrıca, eksik bir Content-Length üstbilgisi bytesTotal öğesinin belirsiz olmasına neden olur.

data

özellik 
public var data:*

Dil Sürümü: ActionScript 3.0
Çalışma Zamanı Sürümleri: AIR 1.0, Flash Player 9, Flash Lite 4

Yükleme işleminden alınan veriler. Bu özellik yalnızca yükleme işlemi tamamlandığında doldurulur. Verilerin biçimi dataFormat özelliğinin ayarına bağlıdır:

dataFormat özelliği URLLoaderDataFormat.TEXT olursa, alınan veriler, yüklenen dosyanın metnini içeren bir dize olur.

dataFormat özelliği URLLoaderDataFormat.BINARY olursa, alınan veriler, ham ikili verileri içeren bir ByteArray nesnesidir.

dataFormat özelliği URLLoaderDataFormat.VARIABLES olursa, alınan veriler, URL kodlu değişkenleri içeren bir URLVariables nesnesidir.

İlgili API Öğeleri


Örnek  ( Bu örnek nasıl kullanılır? )
Aşağıdaki örnek, URLLoader sınıfını kullanarak ve dataFormat özelliğini URLLoaderDataFormat.VARIABLES sabitine ("değişkenler") ayarlayarak URL kodlu değişkenleri içeren harici metin dosyasını bir ActionScript 3.0 belgesine nasıl yükleyebileceğinizi gösterir. Örnek, ActionScriptExamples.com tarafından sağlanmıştır.
//params.txt is a local file that includes: firstName=Tom&lastName=Jones
var lbl:TextField = new TextField();
var urlRequest:URLRequest = new URLRequest("params.txt");
var urlLoader:URLLoader = new URLLoader();
urlLoader.dataFormat = URLLoaderDataFormat.VARIABLES;
urlLoader.addEventListener(Event.COMPLETE, urlLoader_complete);
urlLoader.load(urlRequest);
 
function urlLoader_complete(evt:Event):void {
    lbl.text = urlLoader.data.lastName + "," + urlLoader.data.firstName;
    addChild(lbl);
}

dataFormat

özellik 
public var dataFormat:String = "text"

Dil Sürümü: ActionScript 3.0
Çalışma Zamanı Sürümleri: AIR 1.0, Flash Player 9, Flash Lite 4

İndirilen verinin metin olarak mı (URLLoaderDataFormat.TEXT), ham ikili veri olarak mı (URLLoaderDataFormat.BINARY) yoksa URL kodlu değişkenler olarak mı (URLLoaderDataFormat.VARIABLES) alınacağını denetler.

dataFormat özelliğinin değeri URLLoaderDataFormat.TEXT olursa, alınan veriler, yüklenen dosyanın metnini içeren bir dize olur.

dataFormat özelliğinin değeri URLLoaderDataFormat.BINARY olursa, alınan veriler, ham ikili verileri içeren bir ByteArray nesnesidir.

dataFormat özelliğinin değeri URLLoaderDataFormat.VARIABLES olursa, alınan veriler, URL tarafından kodlanan değişkenleri içeren bir URLVariables nesnesidir.

Varsayılan değer şudur URLLoaderDataFormat.TEXT.

İlgili API Öğeleri


Örnek  ( Bu örnek nasıl kullanılır? )
Aşağıdaki örnek, harici metin dosyalarını nasıl yükleyebileceğinizi gösterir. URLRequest ve URLLoader sınıflarını kullanın ve sonra tamamlama olayını dinleyin. Örnek, ActionScriptExamples.com tarafından sağlanmıştır.
var PATH:String = "lorem.txt";
var urlRequest:URLRequest = new URLRequest(PATH);
var urlLoader:URLLoader = new URLLoader();
urlLoader.dataFormat = URLLoaderDataFormat.TEXT; // default
urlLoader.addEventListener(Event.COMPLETE, urlLoader_complete);
urlLoader.load(urlRequest);
 
function urlLoader_complete(evt:Event):void {
    textArea.text = urlLoader.data;
}
Yapıcı Ayrıntı

URLLoader

()Yapıcı
public function URLLoader(request:URLRequest = null)

Dil Sürümü: ActionScript 3.0
Çalışma Zamanı Sürümleri: AIR 1.0, Flash Player 9, Flash Lite 4

Bir URLLoader nesnesi oluşturur.

Parametreler
request:URLRequest (default = null) — İndirilecek URL'yi belirten bir URLRequest nesnesi. Bu parametre atlanırsa herhangi bir yükleme işlemi başlamaz. Belirtilmişse, yükleme işlemi hemen başlar. (Daha fazla bilgi için load girişine bakın.)

İlgili API Öğeleri

Yöntem Ayrıntısı

addEventListener

()yöntem
override public function addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void

Dil Sürümü: ActionScript 3.0
Çalışma Zamanı Sürümleri: AIR 1.0, Flash Player 9, Flash Lite 4

EventDispatcher nesnesi olan bir olay dinleyici nesnesini, dinleyicinin bir olayın bildirimini alması için kaydeder. Belirli türde bir olay, aşama ve öncelik için görüntüleme listesindeki tüm düğümlere olay dinleyicilerini kaydedebilirsiniz.

Bir olay dinleyicisini başarıyla kaydettikten sonra, addEventListener() öğesine ek çağrılar yaparak önceliğini değiştiremezsiniz. Bir dinleyicinin önceliğini değiştirmek için, ilk olarak removeListener() öğesini çağırmanız gerekir. Daha sonra dinleyiciyi yeni öncelik seviyesiyle kaydedebilirsiniz.

Dinleyici kaydedildikten sonra, farklı bir type veya useCapture değeriyle addEventListener() öğesine yapılan çağrılar, ayrı bir dinleyici kaydının oluşturulmasıyla sonuçlanır. Örneğin, ilk olarak useCapture true değerine ayarlanmış durumdayken bir dinleyiciyi kaydederseniz, dinleyici yalnızca yakalama aşaması boyunca dinleme işlemi yapar. Aynı dinleyici nesnesini kullanarak, ancak useCapture false değerine ayarlanmış durumdayken tekrar addEventListener() öğesini çağırırsanız, iki ayrı dinleyiciniz olur: bunlardan biri yakalama aşamasında dinleme işlemi yapar, diğeri ise hedef ve köpürme aşamasında dinleme işlemi yapar.

Yalnızca hedef aşaması veya köpürme aşaması için bir olay dinleyicisini kaydedemezsiniz. Köpürme yalnızca hedef düğümün alt öğeleri için geçerli olduğundan, bu aşamalar kayıt sırasında birleştirilir.

Artık bir olay dinleyicisine ihtiyacınız olmadığında, removeEventListener() öğesini çağırarak olay dinleyicisini kaldırın, aksi takdirde bellek sorunları oluşabilir. Çöp toplayıcısı, gönderen nesne var olduğu sürece dinleyiciyi kaldırmadığından, (useWeakReference parametresi true olarak ayarlı değilse) olay dinleyicileri otomatik olarak bellekten kaldırılmaz.

Bir EventDispatcher örneği kopyalandığında, o örneğe ekli olan olay dinleyicileri kopyalanmaz. (Yeni oluşturulmuş düğümünüz için bir olay dinleyicisi gerekiyorsa, düğümü oluşturduktan sonra dinleyiciyi eklemeniz gerekir.) Ancak bir EventDispatcher örneğini taşırsanız, örneğe ekli olan olay dinleyicileri de onunla birlikte taşınır.

Bir olay düğümde işlenirken olay dinleyicisi o düğüme kaydediliyorsa, geçerli aşama sırasında olay dinleyicisi tetiklenmez ancak olay akışındaki köpürme aşaması gibi sonraki bir aşamada tetiklenebilir.

Bir olay düğümde işlenirken olay dinleyicisi o düğümden kaldırılırsa, geçerli eylemler tetiklenmeye devam eder. Olay dinleyicisi kaldırıldıktan sonra asla tekrar çağrılmaz (ileride işlenmek üzere tekrar kaydedilmediği sürece).

Parametreler

type:String — Olay türü.
 
listener:Function — Olayı işleyen dinleyici işlevi. Bu işlev, bu örnekte gösterildiği gibi, Event nesnesini tek parametresi olarak kabul etmeli ve hiçbir öğe döndürmemelidir:
function(evt:Event):void

İşleve herhangi bir ad verilebilir.

 
useCapture:Boolean (default = false)Dinleyicinin yakalama aşamasında mı, yoksa hedef ve köpürme aşamalarında mı çalıştığını belirler. useCapture, true olarak ayarlanırsa dinleyici, olayı hedef veya köpürme aşamasında değil de yalnızca yakalama aşamasında işler. useCapture false değerindeyse dinleyici, olayı yalnızca hedef veya köpürme aşamasında işler. Olayı üç aşamada da dinlemek için addEventListener öğesini iki kez, biri useCapture true değerine ayarlanmış olarak, diğeri de useCapture false değerine ayarlanmış olarak çağırın.
 
priority:int (default = 0) — Olay dinleyicisinin öncelik düzeyi. Öncelik, işaretli 32 bit tam sayı tarafından atanır. Sayı ne kadar yüksekse, öncelik de o kadar yüksek olur. n önceliğine sahip tüm dinleyiciler, n-1 önceliğine sahip dinleyicilerden önce işlenir. İki veya daha fazla dinleyici aynı önceliği paylaşırsa, eklendikleri sıraya göre işlenirler. Varsayılan öncelik 0'dır.
 
useWeakReference:Boolean (default = false) — Dinleyici başvurusunun güçlü mü, yoksa zayıf mı olduğunu belirler. Güçlü bir başvuru (varsayılan), dinleyicinizin çöp toplama işlemine tabi tutulmasını önler. Zayıf bir başvuru, bu işlevi yapmaz.

Sınıf düzeyi üye işlevleri, çöp toplama işlemine tabi değildir. Böylece onları çöp toplama işlemine tabi tutmadan, sınıf düzeyi üye işlevleri için useWeakReference öğesini true değerine ayarlayabilirsiniz. Yuvalanmış iç işlev olan bir dinleyici için useWeakReference öğesini true olarak ayarladığınızda, işlev çöp toplama işlemine tabi tutulur ve kalıcı olmaz. İç işleve başvuru oluşturursanız (başka bir değişkende kaydederseniz), çöp toplama işlemine tabi tutulmaz ve kalıcı olarak kalır.

close

()yöntem 
public function close():void

Dil Sürümü: ActionScript 3.0
Çalışma Zamanı Sürümleri: AIR 1.0, Flash Player 9, Flash Lite 4

Devam etmekte olan yükleme işlemini kapatır. Devam etmekte olan herhangi bir yükleme işlemi hemen sonlandırılır. Herhangi bir URL o anda akıştaysa, geçersiz bir akış hatası verilir.

load

()yöntem 
public function load(request:URLRequest):void

Dil Sürümü: ActionScript 3.0
Çalışma Zamanı Sürümleri: AIR 1.0, Flash Player 9, Flash Lite 4

Belirtilen URL'ye veri gönderir ve buradan veri yükler. Veriler dataFormat özelliği için ayarladığınız değere bağlı olarak metin, ham ikili veriler veya URL kodlu değişkenler şeklinde alınabilir. dataFormat özelliğinin varsayılan ayarının metin olduğunu unutmayın. Verileri belirtilen URL'ye göndermek isterseniz, URLRequest nesnesindeki data özelliğini ayarlayabilirsiniz.

Not: İndirilen bir dosya ASCII olmayan karakterler içeriyorsa (İngilizce dışındaki birçok dilde görüldüğü gibi) dosyayı, ASCII gibi Unicode olmayan bir biçimin aksine UTF-8 veya UTF-16 kodlamasıyla kaydetmeniz önerilir.

Dosya sistemine sahip yerel sanal alandaki bir SWF dosyası, ağ sanal alanındaki bir kaynaktan veya ağ sanal alanındaki bir kaynağa veri yükleyemeyebilir.

Varsayılan olarak, çağıran SWF dosyası ve yüklediğiniz URL tamamen aynı etki alanında olmalıdır. Örneğin www.adobe.com adresindeki bir SWF dosyası yalnızca www.adobe.com adresinde bulunan kaynaklardan veri yükleyebilir. Farklı bir etki alanından veri yüklemek için, verileri barındıran sunucuya bir URL ilke dosyası yerleştirin.

Ortak olarak ayrılmış bağlantı noktalarına bağlanamazsınız. Engellenen bağlantı noktalarının tam listesi için, bkz. "Ağ İletişimi API'lerini Kısıtlama", ActionScript 3.0 Geliştirici Kılavuzu.

Flash Player 10 ve sonrasında, yükleme (POST gövdesi içinde "content-disposition" başlığında "filename" parametresiyle belirtilir) içeren çok bölümlü bir Content-Type (örneğin, "multipart/form-data") kullanırsanız, POST işlemi, yüklemelere uygulanan güvenlik kurallarına tabidir:

  • Fare tıklatma veya tuş basışı gibi kullanıcı tarafından başlatılan bir eyleme yanıt olarak POST işleminin gerçekleştirilmesi gerekir.
  • POST işlemi etki alanları arasıysa (POST hedefi, POST isteğini gönderen SWF dosyasıyla aynı sunucuda değilse), hedef sunucunun etki alanları arası erişime izin veren bir URL ilke dosyası sağlaması gerekir.

Ayrıca çok bölümlü herhangi bir Content-Type için sözdiziminin geçerli olması gerekir (RFC2046 standartlarına göre). Sözdizimi geçersiz görünüyorsa, POST işlemi, yüklemelere uygulanan güvenlik kurallarına tabi olur.

Güvenlikle ilgili daha fazla bilgi için, bkz. Flash Player Geliştirici Merkezi Konusu: Güvenlik.

Parametreler

request:URLRequest — İndirilecek URL'yi belirten bir URLRequest nesnesi.


Olaylar
complete:Event — Veriler başarılı şekilde yüklendikten sonra gönderilir.
 
httpStatus:HTTPStatusEvent — HTTP üzerinden erişim gerçekleşirse ve geçerli Flash Player ortamı durum kodlarını almayı desteklerse, bir complete veya error olayının yanı sıra bu olayları alabilirsiniz.
 
ioError:IOErrorEvent — Yükleme işlemi tamamlanamadı.
 
progress:ProgressEvent — İndirme işlemi ilerlerken veri alındığında gönderilir.
 
securityError:SecurityErrorEvent — Bir yükleme işlemi, arayanın güvenlik sanal alanının dışındaki bir sunucudan veri almaya çalıştı. Bu sorun, sunucu üzerinde bir ilke dosyası kullanarak çözülebilir.
 
securityError:SecurityErrorEvent — Bir yükleme işlemi SWZ dosyasını (bir Adobe platformu bileşeni) yüklemeyi denemiştir ancak sertifika geçersizdir veya özet bileşenle eşleşmez.
 
open:Event — Bir yükleme işlemi başladığında gönderilir.
 
httpResponseStatus:HTTPStatusEventload() yöntemine yapılan bir çağrı HTTP üzerinden verilere erişmeye çalışıyorsa ve Adobe AIR, istek için durum kodunu algılayıp döndürebiliyorsa gönderilir.

Atar
ArgumentError URLRequest.requestHeader nesneleri yasaklanmış belirli HTTP istek üstbilgilerini içermeyebilir. Daha fazla bilgi için, URLRequestHeader sınıfı açıklamasına bakın.
 
MemoryError — Bu hata şu nedenlerin birinden ötürü meydana gelebilir: 1) Flash Player veya AIR, URLRequest.data parametresini UTF8'den MBCS'ye dönüştüremiyordur. Bu hata, load() öğesine iletilen URLRequest nesnesinin bir GET işlemi gerçekleştirecek şekilde ayarlanması ve System.useCodePage öğesinin true olarak ayarlanması durumunda ortaya çıkabilir. 2) Flash Player veya AIR, POST verileri için bellek ayıramıyor. Bu hata, load öğesine iletilen URLRequest nesnesinin bir POST işlemi gerçekleştirecek şekilde ayarlanması durumunda meydana gelebilir.
 
SecurityError — Güvenilmeyen yerel dosyalar İnternet ile iletişim kuramayabilir. Bu sorun dosyanın ağ iletişimi olan yerel veya güvenilir olarak yeniden sınıflandırılmasıyla çözülebilir.
 
SecurityError — Ortak olarak ayrılmış bir bağlantı noktasına bağlanmayı deniyorsunuzdur. Engellenen bağlantı noktalarının tam listesi için, bkz. "Ağ İletişimi API'lerini Kısıtlama", ActionScript 3.0 Geliştirici Kılavuzu.
 
TypeError — request parametresinin veya iletilen URLRequest nesnesinin URLRequest.url özelliği null şeklindedir.

İlgili API Öğeleri


Örnek  ( Bu örnek nasıl kullanılır? )

Şu örnekte, XML dosyaları yüklenir ve öğelerinin ilk argümanlarının içeriği bir metin alanında görüntülenir.

XML dosyasının konumunu tanımlamak için bir URLRequest nesnesi oluşturulur. Bu örnekte, bu nesne SWF dosyasıyla aynı dizindedir. Meydana gelebilecek herhangi bir hatanın yakalanması için, dosya bir try...catch bloğuna yüklenir. (Burada SecurityError hatalarını yakalıyoruz.) Bir IO_ERROR olayı meydana gelirse, errorHandler() yöntemi çağrılır. Bu yöntem xmlTextField metin alanına bir hata mesajı yazar. XML dosya verileri alındığında ve loader URLLoader nesnesinin data özelliğine yerleştirildiğinde, Event.COMPLETE olayı gönderilir ve loaderCompleteHandler() yöntemi çağrılır.

loaderCompleteHandler() yönteminde, yüklenen verileri dosyadan bir XML nesnesine dönüştürürken meydana gelebilecek herhangi bir ayrıştırma hatasını yakalamak için bir try...catch yöntemi kullanılır. readNodes() yöntemi daha sonra yinelenerek XML belgesinin düğümlerindeki tüm öğelerden geçer ve tüm öğelerin nitelik listesine sahip xmlTextField metin alanını ekler.

package {
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.net.URLLoader;
    import flash.net.URLRequest;
    import flash.text.TextField;
    import flash.text.TextFieldAutoSize;
    import flash.xml.*;
    import flash.events.IOErrorEvent;
  
    public class URLLoader_loadExample extends Sprite {
        private var xmlTextField:TextField = new TextField();
        private var externalXML:XML;    
        private var loader:URLLoader;

        public function URLLoader_loadExample() {
            var request:URLRequest = new URLRequest("xmlFile.xml");

            loader = new URLLoader();
            
            try {
                loader.load(request);
            }
            catch (error:SecurityError)
            {
                trace("A SecurityError has occurred.");
            }

             loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
            loader.addEventListener(Event.COMPLETE, loaderCompleteHandler);

            xmlTextField.x = 10;
            xmlTextField.y = 10;
            xmlTextField.background = true;
            xmlTextField.autoSize = TextFieldAutoSize.LEFT;

            addChild(xmlTextField);
        }

        private function loaderCompleteHandler(event:Event):void {

                try {
                    externalXML = new XML(loader.data);
                    readNodes(externalXML);    
                } catch (e:TypeError) {
                    trace("Could not parse the XML file.");
                }
        }

        private function readNodes(node:XML):void {

                for each (var element:XML in node.elements()) {
                    xmlTextField.appendText(element.attributes()[0] + "\n");

                    readNodes(element);
                }    
        }

        private function errorHandler(e:IOErrorEvent):void {
            xmlTextField.text = "Had problem loading the XML File.";
        }
    }
}
Olay Ayrıntısı

complete

Olay
Olay Nesne Türü: flash.events.Event
özellik Event.type = flash.events.Event.COMPLETE

Dil Sürümü: ActionScript 3.0
Çalışma Zamanı Sürümleri: AIR 1.0, Flash Player 9, Flash Lite 4

Alınan tüm verilerin kodu çözüldükten ve URLLoader nesnesinin data özelliğine yerleştirildikten sonra gönderilir. Alınan verilere bu olay gönderildiğinde erişilebilir.

Event.COMPLETE sabiti, complete olay nesnesinin type özelliği değerini tanımlar.

Bu olay şu özelliklere sahiptir:

ÖzellikDeğer
bubblesfalse
cancelablefalse; iptal edilecek varsayılan davranış yoktur.
currentTargetBu Event nesnesini olay dinleyicisiyle etkin olarak işleyen nesne.
targetYüklemesi tamamlanan network nesnesi.

İlgili API Öğeleri

httpResponseStatus

Olay  
Olay Nesne Türü: flash.events.HTTPStatusEvent
özellik HTTPStatusEvent.type = flash.events.HTTPStatusEvent.HTTP_RESPONSE_STATUS

Dil Sürümü: ActionScript 3.0
Çalışma Zamanı Sürümleri: AIR 1.0, AIR 1.0, Flash Lite 4

load() yöntemine yapılan bir çağrı HTTP üzerinden verilere erişmeye çalışıyorsa ve Adobe AIR, istek için durum kodunu algılayıp döndürebiliyorsa gönderilir.

httpStatus olayından farklı olarak, httpResponseStatus olayı herhangi bir yanıt verisinden önce teslim edilir. Ayrıca, httpResponseStatus olayı, responseHeaders ve responseURL özelliklerine yönelik değerleri (httpStatus olayı için tanımsızdır) içerir. httpResponseStatus olayının (varsa) herhangi bir complete veya error olayından önce (ve buna ek olarak) gönderileceğini unutmayın.

HTTPStatusEvent.HTTP_RESPONSE_STATUS sabiti, httpResponseStatus olay nesnesinin type özelliği değerini tanımlar.

Bu olay şu özelliklere sahiptir:

ÖzellikDeğer
bubblesfalse
cancelablefalse; iptal edilecek varsayılan davranış yoktur.
currentTargetBu Event nesnesini olay dinleyicisiyle etkin olarak işleyen nesne.
responseURLYanıtın döndürüldüğü URL.
responseHeadersURLRequestHeader nesneleri dizisi olarak yanıtın döndürüldüğü yanıt üstbilgileri.
statusSunucudan gelen HTTP durum kodu.
redirectedYanıtın yeniden yönlendirme sonucu olup olmadığıyla ilgilidir.
targetHTTP durum kodunu alan network nesnesi.

İlgili API Öğeleri

httpStatus

Olay  
Olay Nesne Türü: flash.events.HTTPStatusEvent
özellik HTTPStatusEvent.type = flash.events.HTTPStatusEvent.HTTP_STATUS

Dil Sürümü: ActionScript 3.0
Çalışma Zamanı Sürümleri: AIR 1.0, Flash Player 9, Flash Lite 4

URLLoader.load() yöntemine yapılan bir çağrı HTTP üzerinden verilere erişmeye çalışıyorsa gönderilir. Flash Player'da çalışan içerik için, bu olay yalnızca geçerli Flash Player ortamı isteğe ilişkin durum kodunu algılayıp döndürebiliyorsa gönderilir. (Bazı tarayıcı ortamları, bu bilgiyi sağlayamayabilir.) httpStatus olayının (varsa) herhangi bir complete veya error olayından önce (veya buna ek olarak) gönderileceğini unutmayın.

HTTPStatusEvent.HTTP_STATUS sabiti, httpStatus olay nesnesinin type özelliği değerini tanımlar.

Bu olay şu özelliklere sahiptir:

ÖzellikDeğer
bubblesfalse
cancelablefalse; iptal edilecek varsayılan davranış yoktur.
currentTargetBu Event nesnesini olay dinleyicisiyle etkin olarak işleyen nesne.
statusSunucudan gelen HTTP durum kodu.
targetHTTP durum kodunu alan network nesnesi.

İlgili API Öğeleri

ioError

Olay  
Olay Nesne Türü: flash.events.IOErrorEvent
özellik IOErrorEvent.type = flash.events.IOErrorEvent.IO_ERROR

Dil Sürümü: ActionScript 3.0
Çalışma Zamanı Sürümleri: AIR 1.0, Flash Player 9, Flash Lite 4

URLLoader.load() öğesine yapılan bir çağrı, indirme işlemini sonlandıran kritik bir hatayla sonuçlanırsa gönderilir.

ioError olay nesnesinin type özelliği değerini tanımlar.

Bu olay şu özelliklere sahiptir:

ÖzellikDeğer
bubblesfalse
cancelablefalse; iptal edilecek varsayılan davranış yoktur.
currentTargetBu Event nesnesini olay dinleyicisiyle etkin olarak işleyen nesne.
errorIDBelirli bir hata mesajıyla ilişkili başvuru numarası (yalnızca AIR).
targetGirdi/çıktı hatası yaşayan network nesnesi.
textHata mesajı olarak gösterilecek metin.

İlgili API Öğeleri

open

Olay  
Olay Nesne Türü: flash.events.Event
özellik Event.type = flash.events.Event.OPEN

Dil Sürümü: ActionScript 3.0
Çalışma Zamanı Sürümleri: AIR 1.0, Flash Player 9, Flash Lite 4

URLLoader.load() yöntemine yapılan bir çağrıyı izleyen indirme işlemi başladığında gönderilir.

Event.OPEN sabiti, open olay nesnesinin type özelliği değerini tanımlar.

Bu olay şu özelliklere sahiptir:

ÖzellikDeğer
bubblesfalse
cancelablefalse; iptal edilecek varsayılan davranış yoktur.
currentTargetBu Event nesnesini olay dinleyicisiyle etkin olarak işleyen nesne.
targetBağlantıyı açan network nesnesi.

İlgili API Öğeleri

progress

Olay  
Olay Nesne Türü: flash.events.ProgressEvent
özellik ProgressEvent.type = flash.events.ProgressEvent.PROGRESS

Dil Sürümü: ActionScript 3.0
Çalışma Zamanı Sürümleri: AIR 1.0, Flash Player 9, Flash Lite 4

İndirme işlemi ilerlerken veri alındığında gönderilir.

Bir URLLoader nesnesi kullanılarak, verilerin tamamı alınana kadar bu verilere erişemeyeceğinizi unutmayın. Bu nedenle, ilerleme olayı yalnızca indirme işleminin ne kadar ilerlediğini gösteren bir bildirim görevi görür. Verilerin tamamı indirilmeden önce verilere erişmek için bir URLStream nesnesi kullanın.

Bir progress olay nesnesinin type özelliği değerini tanımlar.

Bu olay şu özelliklere sahiptir:

ÖzellikDeğer
bubblesfalse
bytesLoadedDinleyici olayı işlerken yüklenen öğe veya bayt sayısı.
bytesTotalYükleme işlemi başarılı olursa yüklenecek toplam öğe veya bayt sayısı.
cancelablefalse; iptal edilecek varsayılan davranış yoktur.
currentTargetBu Event nesnesini olay dinleyicisiyle etkin olarak işleyen nesne.
targetİlerlemeyi bildiren nesne.

İlgili API Öğeleri

securityError

Olay  
Olay Nesne Türü: flash.events.SecurityErrorEvent
özellik SecurityErrorEvent.type = flash.events.SecurityErrorEvent.SECURITY_ERROR

Dil Sürümü: ActionScript 3.0
Çalışma Zamanı Sürümleri: AIR 1.0, Flash Player 9, Flash Lite 4

URLLoader.load() öğesine yapılan bir çağrı, güvenlik sanal alanının dışındaki bir sunucudan veri yüklemeye çalıştığında gönderilir. Ayrıca URLLoader.load() öğesine yapılan bir çağrı, SWZ dosyasını yüklemeye çalıştığında ve sertifika geçersiz olduğunda veya özet dizesi bileşenle eşleşmediğinde gönderilir.

SecurityErrorEvent.SECURITY_ERROR sabiti, securityError olay nesnesinin type özelliği değerini tanımlar.

Bu olay şu özelliklere sahiptir:

ÖzellikDeğer
bubblesfalse
cancelablefalse; iptal edilecek varsayılan davranış yoktur.
currentTargetBu Event nesnesini olay dinleyicisiyle etkin olarak işleyen nesne.
targetGüvenlik hatasını bildiren network nesnesi.
textHata mesajı olarak gösterilecek metin.

İlgili API Öğeleri

URLLoaderExample.as

Şu örnek, yerel bir metin dosyasında bulunan verileri yükler ve görüntülenir. Ayrıca, olay işleme bilgilerini de izler.

Not:Bu örneği çalıştırmak için, SWF dosyanızla aynı dizine urlLoaderExample.txt adlı bir dosya koyun. Bu dosya yalnızca şu metin satırını içermelidir: answer=42&question=unknown

Örnek kodu şu işlemleri gerçekleştirir:

  1. Yapıcı işlevi bir loader adlı bir URLLoader örneği ve request adlı bir URLRequest örneği oluşturur. Bu örnekler yüklenecek dosyanın konumunu ve adını içerir.
  2. loader nesnesi, desteklenen her URLLoader olayı için dinleyiciler ekleyen configureListeners() yöntemine iletilir.
  3. Ardından request nesnesi, metin dosyasını yükleyen loader.load() öğesine iletilir.
  4. URLLoader, metin dosyasını yüklemeyi tamamladığında Event.COMPLETE olayı tetiklenir ve bu da completeHandler() yöntemini tetikler. completeHandler() yöntemi, dosyadan yüklenen metinden bir URLVariables nesnesi oluşturur. URLVariables nesnesi, yüklenen verileri işlemeyi kolaylaştırmak için URL tarafından kodlanan ad/değer çiftlerini ActionScript özelliklerine dönüştürür.
package {
    import flash.display.Sprite;
    import flash.events.*;
    import flash.net.*;

    public class URLLoaderExample extends Sprite {
        
        private loader:URLoader;
        public function URLLoaderExample() {
            loader = new URLLoader();
            configureListeners(loader);

            var request:URLRequest = new URLRequest("urlLoaderExample.txt");
            try {
                loader.load(request);
            } catch (error:Error) {
                trace("Unable to load requested document.");
            }
        }

        private function configureListeners(dispatcher:IEventDispatcher):void {
            dispatcher.addEventListener(Event.COMPLETE, completeHandler);
            dispatcher.addEventListener(Event.OPEN, openHandler);
            dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
            dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
            dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
            dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
        }

        private function completeHandler(event:Event):void {
            var loader:URLLoader = URLLoader(event.target);
            trace("completeHandler: " + loader.data);
    
            var vars:URLVariables = new URLVariables(loader.data);
            trace("The answer is " + vars.answer);
        }

        private function openHandler(event:Event):void {
            trace("openHandler: " + event);
        }

        private function progressHandler(event:ProgressEvent):void {
            trace("progressHandler loaded:" + event.bytesLoaded + " total: " + event.bytesTotal);
        }

        private function securityErrorHandler(event:SecurityErrorEvent):void {
            trace("securityErrorHandler: " + event);
        }

        private function httpStatusHandler(event:HTTPStatusEvent):void {
            trace("httpStatusHandler: " + event);
        }

        private function ioErrorHandler(event:IOErrorEvent):void {
            trace("ioErrorHandler: " + event);
        }
    }
}




[ X ]Niçin İngilizce?
ActionScript 3.0 Başvurusu'ndaki içerik İngilizce görünür

ActionScript 3.0 Başvurusu'nun tüm bölümleri tüm dillere çevrilmemiştir. Bir dil öğesi çevrilmediğinde İngilizce görünür. Örneğin, ga.controls.HelpBox sınıfı hiçbir dile çevrilmez. Bu nedenle, başvurunun Türkçe versiyonunda ga.controls.HelpBox sınıfı İngilizce görünür.