Flash から JavaScript の関数を呼び出す方法があったのでメモっときます。
これをマスターできれば Flash の幅が広がる。
Flash から HTML側に記述した JavaScript の処理を実行するには、
ExternalInterfaceクラス を利用します。
ExternalInterfaceクラスは、Flash、Flashムービーを表示しているプレーヤーの
「コンテナ」との通信を行うためのクラス。
このクラスには2つのメソッドがある。
call
コンテナ側の関数を呼び出す。引数付きで呼び出すことも可能。
addCallback
ActionScript側の任意の関数を、コンテナ側から呼び出せるように登録。
※コンテナはここでは JavaScript
クラスを使うにはインポートしなければいけないので
Flash側に以下を記述
import flash.external.*;
call の使い方は
ExternalInterface.call("関数名", 引数);
addCallback の使い方は
ExternalInterface.addCallback( JavaScriptから呼び出すときの名前, 「this」で参照するオブジェクト,呼び出しを許可する関数);
そして JavaScript から呼び出す場合は
document[Flashムービーの名前].関数呼び出し名(引数);
Netscape系のブラウザは
window[Flashムービーの名前].関数呼び出し名(引数);
より詳しい説明は以下にあります。
第35回 FlashムービーとJavaScriptを連携させてみよう:ITpro
Flash8の参考
これをマスターできれば Flash の幅が広がる。
Flash から HTML側に記述した JavaScript の処理を実行するには、
ExternalInterfaceクラス を利用します。
ExternalInterfaceクラスは、Flash、Flashムービーを表示しているプレーヤーの
「コンテナ」との通信を行うためのクラス。
このクラスには2つのメソッドがある。
call
コンテナ側の関数を呼び出す。引数付きで呼び出すことも可能。
addCallback
ActionScript側の任意の関数を、コンテナ側から呼び出せるように登録。
※コンテナはここでは JavaScript
クラスを使うにはインポートしなければいけないので
Flash側に以下を記述
import flash.external.*;
call の使い方は
ExternalInterface.call("関数名", 引数);
addCallback の使い方は
ExternalInterface.addCallback( JavaScriptから呼び出すときの名前, 「this」で参照するオブジェクト,呼び出しを許可する関数);
そして JavaScript から呼び出す場合は
document[Flashムービーの名前].関数呼び出し名(引数);
Netscape系のブラウザは
window[Flashムービーの名前].関数呼び出し名(引数);
より詳しい説明は以下にあります。
第35回 FlashムービーとJavaScriptを連携させてみよう:ITpro
Flash8の参考