Harici API gereksinimleri ve avantajları

Flash Player 9 ve üstü, Adobe AIR 1.0 ve üstü

Harici API, ActionScript'in, Flash Player için kap olarak hareket eden bir "harici uygulamada" (genellikle bir web tarayıcısı veya bağımsız projektör uygulaması) çalışan kod ile ActionScript arasındaki iletişime yönelik bir mekanizma sağlayan bölümüdür. ActionScript 3.0'da, harici API işlevi ExternalInterface sınıfı tarafından sağlanır. Flash Player 8'den önceki Flash Player sürümlerinde fscommand() eylemi, kap uygulamasıyla iletişimi yürütmek için kullanılıyordu. ExternalInterface sınıfı fscommand() için bir değiştirmedir.

Not: Eski fscommand() işlevini kullanmanız gerekirse—örneğin, eski uygulamalarda uyumluluğu korumak veya üçüncü taraf SWF kap uygulaması ya da bağımsız Flash Player ile etkileşim kurmak için—bu, flash.system paketinde paket düzeyinde işlev olarak halen kullanılabilir.

ExternalInterface sınıfı, bir HTML sayfasında ActionScript ve Flash Player'dan JavaScript'e kolaylıkla iletişim kurmanızı sağlayan bir alt sistemdir.

ExternalInterface sınıfı yalnızca şu koşullar altında kullanılabilir:

  • Windows (5.0 ve sonrası) için tüm desteklenen Internet Explorer sürümlerinde

  • Şu anda Firefox 1.0 ve sonrasını, Mozilla 1.7.5 ve sonrasını, Netscape 8.0 ve sonrasını ve Safari 1.3 ve sonrasını içeren NPRuntime arabirimini destekleyen herhangi bir tarayıcıda.

  • SWF, HTMLLoader denetimi tarafından görüntülenen bir HTML sayfasında gömülü olduğunda bir AIR uygulamasında.

Diğer tüm durumlarda (örneğin bağımsız bir oynatıcı çalıştırılırken), ExternalInterface.available özelliği false değerini döndürür.

ActionScript'ten, HTML sayfasında bir JavaScript işlevini çağırabilirsiniz. Harici API, fscommand() öğesine göre daha gelişmiş işlevler sunar:

  • Yalnızca fscommand() işleviyle kullanabildiğiniz işlevleri değil, JavaScript işlevini de kullanabilirsiniz.

  • Herhangi bir ada sahip herhangi bir sayıda argüman iletebilirsiniz; bir komut ve tek bir dize argümanı iletmekle sınırlı değilsiniz Bu da API'nin fscommand() öğesinden daha fazla esnek olmasını sağlar.

  • Çeşitli veri türlerini (örn. Boolean, Number ve String) iletebilirsiniz; String parametreleriyle sınırlı değilsiniz.

  • Bir çağrının değerini alabilirsiniz ve bu değer hemen ActionScript'e döndürülür (yaptığınız çağrının döndürme değeri olarak).

Önemli: Bir HTML sayfasında Flash Player örneğine verilen ad ( object etiketinin id niteliği) kısa çizgi ( - ) veya JavaScript'te operatör olarak tanımlanan diğer karakterleri (örn. + , * , / , \ , . , v.b.) ActionScript tarafından yapılan ExternalInterface çağrıları kap web sitesi Internet Explorer'da görüntülendiğinde çalışmaz. Ek olarak, Flash Player örneğini tanımlayan HTML etiketleri ( object ve embed etiketleri) bir HTML form etiketinde yuvalanırlarsa, ActionScript tarafından yapılan ExternalInterface çağrıları çalışmaz.