FSCommandを使えば、Flashの中からScriptに対してメッセージを送ることができます。例えば、ボタンがクリックされたときや、ムービー中のあるフレームに到達したときにブラウザへ任意のメッセージを送ることができます。ボタンリンクプロパティかフレームアクションの「GetURL」で、URLボックス内に「FSCommand:」とつけて送るメッセージを入力します。FSCommandに続くテキストをcommand stringと呼び、ターゲットボックス中のテキストをargs stringと呼びます。
ここで、このFlashから受け取ったメッセージが伝わってくるのがNNではJavaScript、IEではVBScriptです。次に、スクリプト内で決まった名前の関数を用意する必要があります。名前の付け方は、EmbedだとNAME、ObjectだとIDで付けた名前に
NNの場合
<Script language="JavaScript">
function *****_DoFSCommand(command, args)
{
・・・・・
}
</Script>
IEの場合
<Script language="VBScript">
Sub *****_FSCommand(ByVal command, ByVal args)
・・・・・
end sub
</Script>
と定義します。
IEの場合はVBScript内に、NN用に用意したFSCommandの関数を
呼び出すようにすれば、VBScriptを記述する部分が少なくすみます。
<Script language="VBScript">
Sub *****_FSCommand(ByVal command, ByVal args)
call *****_DoFSCommand(command, args)
ができます。 end sub
</Script>
☆注意
処理するもので、NN,NCでうまく動かないものがあります。何でなのかはよく分かりません。でも、NN,NCならFSCommandを使わなくても上の制約なしにして、FlashからJavaScriptの関数を呼び出す方法があります。方法は「GetURL」で、URLボックス内に"javascript:関数名;"と記述します。
この方法は、NN3.0以上IE4.0で動作します。こうすると、VBScriptを書く必要がないので楽です。
location.hrefやwindow.openは相対パスでは動かないので、絶対パスで記述して下さい。