JavaScript和ActionScript函数相互调用示例

函数声明

JavaScript函数:
<script language="JavaScript" type="text/javascript">
//声明一个JavaScript方法供ActionScript调用
function jsFun(username)
{
    return "jsFun: hello," + username;
}
</script>

ActionScript函数:
stop();

import flash.external.*;

//声明一个ActionScript方法供JavaScript调用
function asFun(username:String):String
{
    return "asFun: hello," + username;
}
ExternalInterface.addCallback("asFun",null,asFun);//注册

调用示例

JavaScript调用ActionScript方法:
<script language="JavaScript" type="text/javascript">
//JavaScript调用ActionScript方法
function callFun(username)
{
    var swf = document.getElementById("SWFObject");
    if(swf)
        return swf.asFun(username);
    else
        return null;
}
</script>

ActionScript调用JavaScript方法:
//ActionScript调用JavaScript方法
function callFun(username:String):String
{
    return String(ExternalInterface.call("jsFun",username));
}

说明:若在JavaScript中获取ActionScript函数体,会得到如下内容:
function () {
    return eval(instance.CallFunction("<invoke name=\""+name+"\" returntype=\"javascript\">" + __flash__argumentsToXML(arguments,0) + "</invoke>"));
  }


评论: 0 | 引用: 0 | 查看次数: 5109
发表评论
登录后再发表评论!