如何从actionscript中读取全局javascript变量

时间:2009-03-29 01:52:31

标签: javascript actionscript externalinterface

鉴于我的网页上有一个名为myVar的全局javascript变量,如何使用javascript从我的flash影片中访问变量myVar的值?

我看到很多使用外部接口的例子,以便从actionscript执行javascript,但是我无法找到使用actionscript将值返回到flash影片的示例。

提前致谢。我希望我的问题很清楚。

4 个答案:

答案 0 :(得分:6)

ExternalInterface允许JavaScript在电影中调用ActionScript函数,反之亦然。您可以选择从调用的函数接收返回值。这是一个非常简单的例子:

JavaScript的:

<script language="JavaScript">
    function getMyVar()
    {
        return myVar;
    }
</script>

闪光灯/ AS:

import flash.external.ExternalInterface;
var result:string = ExternalInterface.call("getMyVar");

答案 1 :(得分:2)

您还可以提供一个匿名函数,将全局变量值返回到ExternalInterface.call方法,如下所示:

ExternalInterface.call("function(){ return myGlobalVariable; }");

答案 2 :(得分:1)

我注意到Rex M的答案有点不完整。

他是正确使用......

import flash.external.ExternalInterface;
var result:string = ExternalInterface.call("getMyVar");

然后在你的javascript中你可以使用

<script language="JavaScript">
    function getMyVar() {
        return myVar;
    }
</script>

但是为了使用它,flash影片必须是通过http访问的html。不使用file://

这是一个从actionscript到javascript进行通信的教程,反之亦然。 http://www.youtube.com/watch?v=_1a6CPPG-Og&feature=plcp

答案 3 :(得分:0)

你也可以这样做:

ExternalInterface.call("eval","getVar=function(obj){return obj}");
var yourVar:String = ExternalInterface.call("eval","getVar(JSvar)");