Använda externt API

Flash Player 9 och senare, Adobe AIR 1.0 och senare

Den externa API:n i ActionScript 3.0 (flash.external.ExternalInterface) möjliggör enkel kommunikation mellan ActionScript och behållarprogrammet som Adobe Flash Player körs i. Det kan finnas flera situationer där du vill använda ett externt API. Det kan till exempel vara när du skapar interaktion mellan ett SWF-dokument och JavaScript på en HTML-sida eller när du bygger ett skrivbordsprogram där Flash Player används för att visa en SWF-fil.

Du kan använda det externa API:et för att interagera med ett behållarprogram, skicka data mellan ActionScript och JavaScript på en HTML-sida och upprätta kommunikation och överföra data mellan ActionScript och ett skrivbordsprogram.

Några vanliga externa API-uppgifter är:
  • Hämta information om behållarprogrammet

  • Använda ActionScript för att anropa kod i ett behållarprogram, till exempel en webbsida eller ett skrivbordsprogram

  • Anropa ActionScript-kod från kod i ett behållarprogram

  • Skapa en proxy som förenklar anrop till ActionScript-kod från ett behållarprogram

Obs! Här beskrivs endast kommunikationen mellan ActionScript i en SWF-fil och behållarprogrammet som innehåller en referens till Flash Player-instansen till vilken SWF-filen läses in. Annan användning av Flash Player i ett program ligger utanför omfånget av den här dokumentationen. Flash Player är utformat för att användas som ett webbläsarplugin-program eller som en projektor (fristående program). Andra användarscenarier kanske har begränsat stöd.

Använda externt API i AIR

Eftersom AIR-program inte har någon extern behållare gäller vanligtvis inte det här externa gränssnittet och behövs inte heller. När AIR-programmet läser in en SWF-fil direkt kan programkoden kommunicera direkt med ActionScript-koden i SWF-filen (påverkas av begränsningar från säkerhetssandlådor).

Men om AIR-programmet läser in en SWF-fil med en HTML-sida i ett HTMLLoader-objekt (eller en HTML-komponent i Flex) fungerar HTMLLoader-objektet som den externa behållaren. Du kan därför använda det externa gränssnittet för att kommunicera mellan ActionScript-koden i den inlästa SWF-filen och JavaScript-koden i HTML-sidan som lästes in i HTMLLoader.