ActionScriptでSWFの置かれているパスではなく、実際に表示されているページのパスを取得するにはJavaScript、またはPHPとの連携で可能になります。

Javascriptの場合

ActionScriptからJavascriptの関数を実行する「ExternalInterface」で行えます。
HTML内に、パスの値を返すJavaScriptの関数を加えます。

1
2
3
4
5
<script type="text/javascript">
function getPath() {
    return location.href;
}
</script>

ActionScriptではJavaScriptの関数を実行して、戻り値を変数に格納します。

1
var path:String = ExternalInterface.call("getPath");

PHP(&FlashVars)の場合

PHPでActionScriptに値を渡すには、FlashVarsを利用する方法が簡単です。
PHP内のFLASH埋め込みのコード内に、PHPで動的に取得したパス情報を、FlashVars経由でSWFに渡します。

1
<param name="FlashVars" value="path=<?php echo "http://".$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]; ?>" />

ActionScriptではFlashVarsの値を「loaderInfo.parameters」で取り出します。

1
2
var param:Object = loaderInfo.parameters;
var path:String = param["path"];