AS3で getURLの代替関数を使用する

getURL

I ♥ getURL

ActionScript3.0から僕の好きな getURL関数が使用できなくなってしまいましたので、簡素な代替関数を作成しました。

下記のボタンより getURL.asファイルをダウンロード後、任意のクラスパスへ保存してご使用ください。

Download

【使用方法】

http://exsample.com/ を開く


getURL("http://exsample.com/");

http://exsample.com/ を新しいウィンドウで開く


getURL("http://exsample.com/", "_blank");

【パラメータについて】

url


呼び出し先の URL
[String][省略不可]

target


URLを開くターゲットウィンドウ
[String][省略可][初期値:"_self"]

ソースコード


package {
import flash.net.navigateToURL;
import flash.net.URLRequest;
public function getURL(url:String, target:String="_self"):void {
if (url == null) {
return;
}
try {
navigateToURL(new URLRequest(url),target);
} catch (error:Error) {
return;
}
}
}

Download

【補足】

ラッキングの取得やポップアップウィンドウの展開など、JavaScriptを呼び出すには従来の getURL関数ではなく、ExternalInterfaceクラスを使用するようです。

JavaScriptの関数を呼び出す


//ExternalInterfaceクラスのインポート
import flash.external.ExternalInterface;

//呼び出す JavaScriptの関数名
var callJavaScriptFunction:String = "JSFunctionName";
//JavaScriptの関数に渡す第一引数
var callJavaScriptArguments:String = "JSFunctionArgs";
//ExternalInterfaceクラスの戻り値をストリングとして格納
var callJavaScriptValue:String =
ExternalInterface.call(
callJavaScriptFunction,
callJavaScriptArguments
).toString(); //ここでストリングに変換した方が安全のようです