繁体   English   中英

似乎无法将变量从AS3传递给Javascript

[英]Can't seem to pass variable from AS3 to Javascript

此代码不起作用。 (将变量从AS3传递到Javascript)

AS3(声明变量并传递给Javascript)

var newHeight:Number = new Nubmer();
newHeight = 2;

goHeight();

function goHeight():void{
if (ExternalInterface.available){
ExternalInterface.call("funYa1()", newHeight);
}

}

在HTML文档中:

<script type="text/javascript">

function funYa1(nH) {       
alert("newHeight   " + nH);
}           

</script>   

警报显示nH未定义。 有任何想法吗?

您在第一行输入错字

var newHeight:Number = new Nubmer();

应该

var newHeight:Number = new Number();

您是否正在使用swfObject嵌入swf? 如果是,请尝试添加:

<param name="allowscriptaccess" value="always">

另外,您可以尝试传递硬编码的字符串而不是newHeight,以查看变量是否存在问题:

ExternalInterface.call("funYa1()", "test");

这是一篇有关as3和javascript通信的不错的文章:

http://circlecube.com/2010/12/actionscript-as3-javascript-call-flash-to-and-from-javascript/

警报说nH是未定义的,因为您在通话中有括号。 在这种情况下,不传递参数。 替换行

ExternalInterface.call("funYa1()", newHeight);

ExternalInterface.call("funYa1", newHeight);

和参数应传递给Javascript。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM