2010/02/23 17:29

Web

  

AS3でHTMLのURLからGETを取得したい…AC_FL_RunContentを使ってな!

さて…表題通り、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 :

Comments






使用可能タグ: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>