如何从actionscript读取全局javascript变量
考虑到我的网页上有一个名为myVar的全局javascript变量,我如何使用javascript从flash电影中访问变量myVar的值 我看到很多使用外部接口从actionscript执行javascript的例子,但我找不到使用actionscript将值返回flash电影的例子如何从actionscript读取全局javascript变量,javascript,actionscript,externalinterface,Javascript,Actionscript,Externalinterface,考虑到我的网页上有一个名为myVar的全局javascript变量,我如何使用javascript从flash电影中访问变量myVar的值 我看到很多使用外部接口从actionscript执行javascript的例子,但我找不到使用actionscript将值返回flash电影的例子 提前谢谢。我希望我的问题足够清楚。ExternalInterface允许JavaScript在电影中调用ActionScript函数,反之亦然。您可以选择从调用的函数接收返回值。下面是一个非常简单的示例: Jav
提前谢谢。我希望我的问题足够清楚。ExternalInterface允许JavaScript在电影中调用ActionScript函数,反之亦然。您可以选择从调用的函数接收返回值。下面是一个非常简单的示例: JavaScript:
<script language="JavaScript">
function getMyVar()
{
return myVar;
}
</script>
我注意到雷克斯M的回答有点不完整 关于使用…他是对的
import flash.external.ExternalInterface;
var result:string = ExternalInterface.call("getMyVar");
然后在javascript中可以使用
<script language="JavaScript">
function getMyVar() {
return myVar;
}
</script>
函数getMyVar(){
返回myVar;
}
但是,为了使用它,flash电影必须是通过http访问的html格式。不使用文件://
下面是一个从actionscript到javascript以及从javascript到actionscript的通信教程。
您还可以提供一个匿名函数,将全局变量值返回到
外部接口。调用方法如下:
ExternalInterface.call("function(){ return myGlobalVariable; }");
您也可以这样做:
ExternalInterface.call("eval","getVar=function(obj){return obj}");
var yourVar:String = ExternalInterface.call("eval","getVar(JSvar)");
很好,这就是我现在要做的,除了我将变量的名称传递给getMyVar函数,然后返回这个[myVarName]。。。我认为这种方法会奏效。谢谢这确实解决了我的问题。下面是我在javascript中使用的:函数returnVar(varName){returnthis[varName];}和ActionScript3:var jsVariableValue=ExternalInterface.call(“returnVar”、“jsVariableName”);听起来这也可以与AJAX和JSON一起使用,以便将数据获取到flash?@jerebear,除了AS具有更广泛的数据检索功能。
ExternalInterface.call("eval","getVar=function(obj){return obj}");
var yourVar:String = ExternalInterface.call("eval","getVar(JSvar)");