携帯Flashにパラメータを渡す
どーしても、FlashLiteにパラメータを渡したい。Flash.jpのフォーラムを参考に、swfにバイナリを挿入するやりかたをRubyに翻訳。
携帯ではFlash(Lite1.1)にURLパラメータを渡すことができず(できる機種もあるらしいだけど、確認できず)。
PCブラウザでは当たり前の、
<a href="flash.swf?param_name=xxxxxxx" >
あるいは、
<object ~ >
<param name="FlashVars" value="param_name=xxxxx"/>
</object>
<param name="FlashVars" value="param_name=xxxxx"/>
</object>
ということはできない。
はて困ったぞっ、と調べていると。。。
こんなステキなやり方がありました
→Flash.jp:3414.iモード用のFLASHにパラメータを送りたい
SWFに直接バイナリでパラメータを書き込む方法です。
サンプルを書いてくださってるantwerpenさんに、感謝感謝!。
すばらしく助かりました。
サンプルはPHPとPerlのですが、Railsから使いたかったので、
↓Rubyに翻訳させていただきました。
→parameter_injector.rb
使い方
ActionController:
def go_flash
send_data ParameterInjector.inject( '元swfのパス', params ) ,
:type => "application/x-shockwave-flash",
:disposition => 'inline'
end
View:
<%=link_to :action => 'go_flash', :param_name=>'value'%>
def go_flash
send_data ParameterInjector.inject( '元swfのパス', params ) ,
:type => "application/x-shockwave-flash",
:disposition => 'inline'
end
View:
<%=link_to :action => 'go_flash', :param_name=>'value'%>
で、パラメータが挿入されたswfが起動します。
ケータイっていろんなことができるけど、ずいぶん初歩的なことができないんだな、と思った次第です。

