[英]Send array from Flash (AS3) to JavaScript
是否可以使用ExternalInterface调用将数组从Flash(AS3)发送到JavaScript?
我目前正在从Flash中的'for each'循环中多次调用一个函数,但它的速度太快,以至于JavaScript无法跟上。
我的想法是创建一个属性数组,将其传递给JavaScript函数,然后在JavaScript中循环它。
谢谢,乔希
是的,这是可能的。
... arguments - 传递给容器中函数的参数。 您可以指定零个或多个参数,用逗号分隔它们。 它们可以是任何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);
}
除了使用JSON的建议之外,对于小型数组来说这应该更快,并且不需要使用eval或外部库来解析。 在flash中加入一个像这样的字符串中的数组:
物品1 | ITEM2 |项目3 | ITEM4
将字符串传递给JS并使用split(“|”)再次拆分它
您始终可以创建一个JSON对象并将其传递给JavaScript。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.