External API の使用

Flash Player 9 以降、Adobe AIR 1.0 以降

ActionScript 3.0 外部 API(flash.external.ExternalInterface)を使用すると、Adobe Flash Player が実行されるコンテナアプリケーションと ActionScript の間で直接通信できます。External API を使用する状況としては、HTML ページ内で SWF ドキュメントと JavaScript 間の操作を行う場合や、Flash Player を使用して SWF ファイルを表示するデスクトップアプリケーションを作成する場合などがあります。

External API を使用してコンテナアプリケーションを操作し、HTML ページ内で ActionScript と JavaScript との間でデータを受け渡し、ActionScript とデスクトップアプリケーションとの間で通信を確立し、データを交換することができます。

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

  • コンテナアプリケーション(Web ページやデスクトップアプリケーションなど)における ActionScript を使用したコードの呼び出し

  • コンテナアプリケーション内のコードからの ActionScript コードの呼び出し

  • コンテナアプリケーションからの 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 コードの間で通信することができます。