从Flash(AS3)为JavaScript发送阵列(Send array from Flash (

2019-07-29 09:31发布

是否有可能使用ExternalInterface调用从Flash(AS3)为JavaScript发送阵列?

我目前是从调用一个函数多次“每个”内循环的Flash,但它过得太快了JavaScript来跟上。

我的想法是创建属性的数组,传递给JavaScript函数,然后遍历,在JavaScript的。

谢谢,乔希

Answer 1:

另外,使用JSON的建议,这应该是小数组更快,将不要求使用eval或外部库来解析的。 加入在闪光灯这样的字符串数组:

物品1 | ITEM2 |项目3 | ITEM4

将字符串传递给JS和采用分体式再次分裂它(“|”)



Answer 2:

是的,这是可能的。

http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/external/ExternalInterface.html#call()

...参数 - 将参数传递给在容器中的功能。 您可以指定零个或多个参数,请用逗号分隔。 它们可以是任何ActionScript数据类型。 当呼叫是对一个JavaScript函数,ActionScript类型自动转换到JavaScript类型; 如果调用的是某个其它ActiveX容器中,所述参数被编码在所述请求消息。

快速测试:

AS代码:

if(ExternalInterface.available) {
    ExternalInterface.call("jsTest", [0,1,"two",{a:1,b:2}]);
}

JS代码:

function jsTest(arg) {
    alert(arg);
}


Answer 3:

你总是可以创建一个JSON对象并将其传递给JavaScript。



文章来源: Send array from Flash (AS3) to JavaScript