鉴于我的网页上有一个名为myVar的全局javascript变量,如何使用javascript从我的flash影片中访问变量myVar的值?
我看到很多使用外部接口的例子,以便从actionscript执行javascript,但是我无法找到使用actionscript将值返回到flash影片的示例。
提前致谢。我希望我的问题很清楚。
答案 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)");