4

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

我看到很多使用外部接口从 actionscript 执行 javascript 的示例,但我无法找到使用 actionscript 将值返回到 Flash 电影的示例。

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

4

4 回答 4

6

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

JavaScript:

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

闪存/AS:

import flash.external.ExternalInterface;
var result:string = ExternalInterface.call("getMyVar");
于 2009-03-29T02:04:41.290 回答
2

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

ExternalInterface.call("function(){ return myGlobalVariable; }");
于 2014-05-26T14:19:36.897 回答
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 中。不使用文件://

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

于 2012-08-22T03:18:51.083 回答
0

你也可以这样做:

ExternalInterface.call("eval","getVar=function(obj){return obj}");
var yourVar:String = ExternalInterface.call("eval","getVar(JSvar)");
于 2015-02-22T21:29:16.903 回答