External API の使用

Flash Player 9 以降、Adobe AIR 1.0 以降

ActionScript 3.0 外部 API( flash.external.ExternalInterface )を使用すると、Adobe Flash Player が実行されるコンテナアプリケーションと ActionScript の間で直接通信できます。HTML ページで SWF ドキュメントと JavaScript の間のやり取りを作成するには、ExternalInterface API を使用します。

HTML ページで外部 API を使用すると、コンテナアプリケーションとやり取りしたり、ActionScript と JavaScript の間でデータの受け渡しを行ったりすることができます。

一般的な External API タスクの一部は次のとおりです。
  • コンテナアプリケーションに関する情報の取得

  • ActionScript の使用による、ブラウザーまたは AIR デスクトップアプリケーションに表示された Web ページ内のコードの呼び出し

  • Web ページからの ActionScript コードの呼び出し

  • Web ページからの ActionScript コードの呼び出しを簡易化するプロキシの作成

注意: 外部インターフェイスに関するこの説明は、SWF 内の ActionScript と、SWF をロードする Flash Player またはインスタンスへの参照が含まれるコンテナアプリケーションの間の通信のみを対象としています。アプリケーション内でのその他の Flash Player の使用は、本マニュアルの範囲外です。 Flash Player は、ブラウザーのプラグインまたはプロジェクター(スタンドアローンアプリケーション)として使用することを目的としています。 それ以外の使用法については、サポートが制限される場合があります。

AIR での External API の使用

AIR アプリケーションには外部コンテナがないので、この外部インターフェイスは通常は該当せず、必要もありません。AIR アプリケーションで SWF ファイルを直接ロードする場合、アプリケーションコードは SWF で ActionScript コードと直接通信できます(セキュリティサンドボックスの制限が適用されます)。

ただし、AIR アプリケーションが HTMLLoader オブジェクト(または Flex の HTML コンポーネント)の HTML ページを使用して SWF ファイルをロードするときは、HTMLLoader オブジェクトは外部コンテナとして機能します。したがって、外部インターフェイスを使用して、ロードされた SWF で ActionScript コードと、HTMLLoader でロードされた HTML ページの JavaScript コードの間で通信することができます。