プロプログラマ

プログラマーを職業としてます。 Flex,Air,C#,Oracle,HTML+JSの言語ノウハウを中心に情報発信していきます

FlexでURLパラメータを取得する

Flexで、起動時にURLパラメータを取得するのは、
FlexGlobals.topLevelApplication.parametersで、取得できると思っていました。
ですが、実際拾ってみると中身が空っぽです。
debugモードだとダメなのかと思いましたが、
以下のようにすれば取得できました。

まず、起動するhtmlのテンプレートである、index.template.htmlを修正します。
swfを埋め込んでいるjavascriptに1文追加します。

params.flashvars = location.search.substr(1,location.search.length-1);

※params.・・・と指定している場所のどこかに追加してください。

あとは、Flex側で取得するコードを書きます。
creationCompleteイベントなどで、

var param:Object = FlexGlobals.topLevelApplication.parameters;
// Flex3の場合は、 var param:Object = Application.application.parameters;
var paraText:String = "";
for (var key:String in param) {
var value:String = param[key];
paraText += "key=" + key + " vlaue=" + value + "\n";
}
Alert.show(paraText);

のようにすれば、パラメータの一覧が取得できます。

要は、Flashのパラメータ[flashvars]に入れたものが取得できると言うわけで、
一手間ないと取得できないのが煩わしい感じです。

パラメータが取得できないと嘆いている方は、一度お試しください。

 

== ランキングに参加しています。ぜひクリックお願いします ==

プログラム ブログランキングへ
にほんブログ村 IT技術ブログへ
にほんブログ村

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください