Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从actionscript读取全局javascript变量_Javascript_Actionscript_Externalinterface - Fatal编程技术网

如何从actionscript读取全局javascript变量

如何从actionscript读取全局javascript变量,javascript,actionscript,externalinterface,Javascript,Actionscript,Externalinterface,考虑到我的网页上有一个名为myVar的全局javascript变量,我如何使用javascript从flash电影中访问变量myVar的值 我看到很多使用外部接口从actionscript执行javascript的例子,但我找不到使用actionscript将值返回flash电影的例子 提前谢谢。我希望我的问题足够清楚。ExternalInterface允许JavaScript在电影中调用ActionScript函数,反之亦然。您可以选择从调用的函数接收返回值。下面是一个非常简单的示例: Jav

考虑到我的网页上有一个名为myVar的全局javascript变量,我如何使用javascript从flash电影中访问变量myVar的值

我看到很多使用外部接口从actionscript执行javascript的例子,但我找不到使用actionscript将值返回flash电影的例子


提前谢谢。我希望我的问题足够清楚。

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)");