External API の要件と利点

External API は ActionScript の一部で、Flash Player のコンテナとして機能する "外部アプリケーション" (一般的には Web ブラウザまたはスタンドアロンのプロジェクターアプリケーション) で実行されるコードと ActionScript 間の通信用メカニズムを提供します。ActionScript 3.0 では、External API の機能が ExternalInterface クラスによって提供されます。Flash Player 8 よりも前のバージョンの Flash Player では、fscommand() アクションを使用してコンテナアプリケーション内での通信が実行されていました。ExternalInterface クラスは fscommand() に代わるもので、JavaScript と ActionScript との間のすべての通信用に推奨されます。

メモ

 

以前の fscommand() 関数を使用する必要がある場合 (たとえば、以前のバージョンのアプリケーションとの互換性を維持する場合や、サードパーティの SWF コンテナアプリケーションやスタンドアロン Flash Player で操作する場合など) は、パッケージレベルの関数として flash.system パッケージに用意されています。

ExternalInterface クラスは、ActionScript と Flash Player から、HTML ページ内の JavaScript や Flash Player のインスタンスを含むデスクトップアプリケーションへの通信を可能にするサブシステムです。

ExternalInterface クラスは次の条件でのみ使用できます。

その他の環境 (スタンドアローン Player で実行する場合など) では、ExternalInterface.available プロパティは false を返します。

ActionScript から、HTML ページの JavaScript 関数を呼び出すことができます。External API の機能は、次の点において fscommand() よりも強力です。

警告

 

HTML ページの Flash Player インスタンス (object タグの id 属性) に付けられた名前にハイフン (-) またはその他の JavaScript で演算子として定義された文字 (+*/\. など) が含まれていると、コンテナ Web ページを Internet Explorer で表示した場合に、ActionScript からの ExternalInterface 呼び出しが機能しません。

また、Flash Player インスタンスを定義する HTML タグ (object および embed タグ) が HTML form タグ内でネストされていると、ActionScript からの ExternalInterface 呼び出しが機能しません。


 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/flash/9.0_jp/main/00000339.html