AS3で getURLの代替関数を使用する
ActionScript3.0から僕の好きな getURL関数が使用できなくなってしまいましたので、簡素な代替関数を作成しました。
下記のボタンより getURL.asファイルをダウンロード後、任意のクラスパスへ保存してご使用ください。
【使用方法】
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;
}
}
}
【補足】
トラッキングの取得やポップアップウィンドウの展開など、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(); //ここでストリングに変換した方が安全のようです