現在のURLを取得する - Action Script
Flexアプリケーションで現在位置のURLを取得するコードを紹介します。
UI
下図のUIを用意します。ボタン1つ、ラベル1つを画面に配置します。
ボタンをクリックして選択し、右クリックでポップアップメニューを表示します。メニュー内の[Click ハンドラーを作成]メニューを選択します。
ボタンのクリックイベントハンドラーが作成されコード画面(下図参照)が表示されます。
[デザイン]ボタンを押してデザイン画面に戻ります。画面に配置したラベルをクリックして選択し、プロパティウィンドウの[ID]に"label1"とIDを設定します。
コード
以下のコードを記述します。実質はボタンの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
label1.text = this.url;
}
]]>
</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>
実行結果
アプリケーションを配置して、ウェブブラウザでアクセスします。下図の画面が表示されますのでボタンを押します。
ウェブブラウザでアクセスしたURLのswfファイルのURLが表示されます。
swfファイルのURLのため、下図のようにURLにパラメータを付加しても画面に表示されるURLには反映されません。
補足
LoaderInfoオブジェクトを用いて下記のように記述してもURLを取得できます。
protected function button1_clickHandler(event:MouseEvent):void
{
// TODO Auto-generated method stub
label1.text = loaderInfo.url;
}
著者
iPentecのメインデザイナー
Webページ、Webクリエイティブのデザインを担当。PhotoshopやIllustratorの作業もする。