さて…表題通り、FlashでGETを取得したい場合のJavascript記述を考えてみたいと思います。
で、条件としてAC_FL_RunContentを使ってやろうと思います。
(根本的にFlash自身からJavascriptと連携して直接取得すればいいんじゃないの?ってのはとりあえず置いておきます)
本来ならSWFObjectとか使うべきなのかもしれないですが、個人的にはswfの埋め込み方なんてそんなに気にする必要ないと思ってます。…昔はW3C基準だなんだと言ってましたがね。
今はどうでもいいです。
ようは埋め込まれればいいんです。見てる方には関係ないですから。
ちなみに、根本的にAC_FL_RunContentで引数を渡す方法が分からない人はこちらをご覧下さい。
つまり、単純に考えればどうやってGETされた引数をこのFlashVarsまで持ち込むか…というたったそれだけの話。
まず、第一関門・JavascriptでGETを取得するにはどうするのか?
答えはこちら…
location.search
はい。とてもありがたいことに、たったこれだけで取得出来ます。
…つまり、もう答えは出来上がりですね。
第一関門しかないのに、関門とつけていいものか?
AC_FL_RunContentの引数部分に、
‘FlashVars’,location.search
を付け加えてやればいいんです。
…はい。
これじゃあ動きません。動くわけありません。
ありました第二関門。
alert(location.search)をすれば分かりますが、こいつは頭の?マークまで引っ張ってくるんです。
直接リンクする際には便利かもしれませんが、とりあえずAC_FL_RunContentで引数を渡す場合はただの邪魔者。
というわけで、
‘FlashVars’,location.search.replace(“?”,”")
こんな感じで、頭の?マークを切り取っちゃいます。
(変数内で?マークを使う場合は、頭の一文字だけ抜き取りましょう)
これで見事完成。
さて…デザインの打ち合わせも出来ないし、仕事も進められないからガンプラでも弄ぶか…
TrackBack :





