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.