SWFを表示しているURLの取得方法。
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"]; |