Uso da API externa

Flash Player 9 e posterior, Adobe AIR 1.0 e posterior

A API externa do ActionScript 3.0 ( flash.external.ExternalInterface ) permite a comunicação direta entre o ActionScript e o aplicativo de contêiner no qual o Adobe Flash Player está sendo executado. Use a API ExternalInterface para criar uma interação entre um documento SWF e o JavaScript em uma página HTML.

Você pode utilizar a API externa para interagir com um aplicativo de contêiner, como transmitir dados entre o ActionScript e o JavaScript em uma página HTML.

Algumas tarefas comuns da API externa são:
  • Obtenção de informações sobre o aplicativo de contêiner

  • Utilização do ActionScript para chamar o código em uma página da Web exibida em um navegador ou em um aplicativo de desktop do AIR

  • Chamada do código do ActionScript de uma página da Web

  • Criação de um proxy para simplificar a chamada do código do ActionScript de uma página da Web

Nota: Esta discussão abrange apenas a comunicação entre o ActionScript em um arquivo SWF e o aplicativo de contêiner que inclui uma referência ao Flash Player ou à ocorrência na qual o arquivo SWF está carregado. Qualquer outro uso do Flash Player em um aplicativo está fora do escopo desta documentação. O Flash Player foi desenvolvido para ser usado como um plug-in de navegador ou como um projetor (aplicativo dedicado). Outros ambientes de uso podem ter suporte limitado.

Utilizando a API externa no AIR

Como um aplicativo do AIR não possui um contêiner externo, esta interface externa geralmente não se aplica - ou não é geralmente necessária. Quando seu aplicativo do AIR carrega um arquivo SWF diretamente, o código do aplicativo pode se comunicar diretamente como o código do ActionScript no arquivo SWF (sujeito a restrições de caixa de proteção de segurança).

No entanto, quando seu aplicativo do AIR carrega um arquivo SWF utilizando uma página HTML em um objeto HTMLLoader ( ou um componente HTML no Flex) o objeto HTMLLoader serve como o contêiner externo. Portanto, você pode utilizar a interface externa para estabelecer comunicação entre o código ActionScript no SWF carregado e o código JavaScript na página HTML carregado no HTMLLoader.