【问题标题】:Can't seem to pass variable from AS3 to Javascript似乎无法将变量从 AS3 传递到 Javascript
【发布时间】:2014-03-29 03:07:10
【问题描述】:

此代码不起作用。 (将变量从 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 未定义。有什么想法吗?

【问题讨论】:

    标签: javascript actionscript-3 flash


    【解决方案1】:

    第一行有错别字

    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/

    【讨论】:

      【解决方案2】:

      警报说nH 未定义,因为您在调用中有大括号。在这种情况下,参数不被传递。替换行

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

      ExternalInterface.call("funYa1", newHeight);
      

      并且参数应该传递给Javascript。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-03-23
        • 1970-01-01
        • 2015-03-21
        • 2012-09-03
        • 1970-01-01
        • 1970-01-01
        • 2011-11-14
        • 2017-06-03
        相关资源
        最近更新 更多