現在のswfファイルのURLからパラメーターを取得する - Action Script

現在のswfファイルのURLからパラメーターを取得するコードを紹介します。

UI

下図のUIを準備します。画面にボタンとラベルを1つずつ配置します。


配置後、ボタンをクリックして選択し右クリックします。ポップアップメニューが表示されますので、メニュー内の[Click ハンドラーを作成]メニューを選択して、Clickイベントのハンドラを作成します。

コード

下記のコードを記述します。実質はボタンのClickイベントハンドラー部分を記述するのみです。~]
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
               xmlns:s="library://ns.adobe.com/flex/spark"
               xmlns:mx="library://ns.adobe.com/flex/mx"
               width="360" height="200" minWidth="955" minHeight="600">
  
  <fx:Script>
    <![CDATA[
      protected function button1_clickHandler(event:MouseEvent):void
      {
        // TODO Auto-generated method stub
        var param:Object = this.parameters;
        for (var key:String in param){
          var value:String;
          value = param[key];
          label1.text = label1.text + key +":" + value +"/";
        }
      }
    ]]>
  </fx:Script>
  
  <fx:Declarations>
    <!-- 非ビジュアルエレメント (サービス、値オブジェクトなど) をここに配置 -->
  </fx:Declarations>
  <s:Button x="10" y="10" label="ボタン" click="button1_clickHandler(event)"/>
  <s:Label id="label1" x="10" y="39" text="ラベル"/>
</s:Application

解説

this.parameters にパラメーターの一覧が格納されています。
for (var key:String in param){
}
により、パラメーター数ループします、このとき keyにパラメーターのキーが格納されます。パラメーターの値は下図のコードで取得できます。
value = param[key];

実行結果

ファイルを配置し、WebブラウザでswfファイルのURLを開きます。swfファイルの後ろに"?"とパラメータを付加します。下図の例では
http://www.ipentec.com/sandbox/GetURL.swf?q=Penguin
にアクセスしています。swfファイルが実行され画面が表示されます。ボタンをクリックします。下図のようにパラメーターがラベルに表示されます。


著者
iPentecのメインデザイナー
Webページ、Webクリエイティブのデザインを担当。PhotoshopやIllustratorの作業もする。
掲載日: 2012-03-20
iPentec all rights reserverd.