[英]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.