【问题标题】:ExternalInterface.addCallback with 2 arguments带有 2 个参数的 ExternalInterface.addCallback
【发布时间】:2012-07-05 12:01:34
【问题描述】:

我正在尝试将 2 个变量从 javascript 传递到 flash。我想我可以做这样的事情来尝试接收它们。

ExternalInterface.addCallback("callAs", muscle, tension);

不幸的是,这会引发错误

1137:参数数量不正确。预计不超过 2 个。

有没有办法发送 2 个变量而不必每次调用 2 个?

提前致谢! 树脂

【问题讨论】:

    标签: javascript actionscript-3 flash


    【解决方案1】:

    有可能。

    ExternalInterface.addCallback("theFunctionNameInJavascript", theFunctionNameInActionscript);
    
    function theFunctionNameInActionscript(param1:String, param2:String):void {
    //do something with param1;
    //do something with param2;
    
    }
    

    然后在 Javascript 中你会得到类似...

    <!-- work out if we are on Mac or PC -->
    function getFlashMovie(movieName) {
        var isIE = navigator.appName.indexOf("Microsoft") != -1;
        return (isIE) ? window[movieName] : document[movieName];
    }
    
    function theFunctionNameInJavascript(swf, param1, param2) {
        getFlashMovie(swf).theFunctionNameInActionscript(param1, param2);
    }
    

    你会用类似...的东西来触发它

    <form action="javascript:theFunctionNameInJavascript('idNameOfYourSWF', 'thisisparam1', 'thisIsParam2')" id="form">
    <input type="submit" value="Click Me" />
    </form>
    

    【讨论】:

    • 我稍微更改了脚本,但我认为它会起作用。当然给了我理解让我的工作;)谢谢!
    猜你喜欢
    • 2015-10-24
    • 1970-01-01
    • 1970-01-01
    • 2010-12-02
    • 2018-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-11
    相关资源
    最近更新 更多