3

给定以下 Flash 方法:

function sendToJava(name:String, ... args)
{
  ExternalInterface.call("sendCommand", name, args);
}

如何确保 ExternalInterface.call() 以扩展形式解释 args?现在,如果我将一个列表传递给“args”,则该列表将被 ExternalInterface.call() 解释为“Object[]”类型的单个参数。当参数到达 Java 时,我无法区分以逗号分隔的多个参数与包含逗号作为其值的一部分的单个参数。

4

2 回答 2

5

一个小错字。它应该是:

function sendToJava(name:String, ... args)
{
  // See Array.unshift()
  args.unshift("sendCommand", name);

  // See Function.apply()
  ExternalInterface.call.apply(null, args);
}

只需将“数组”更改为“应用”

无论如何,非常感谢您发布此内容。你是救生员!

于 2009-01-24T21:00:56.293 回答
1

我在 IRC 上找到了答案 :)

function sendToJava(name:String, ... args)
{
  // See Array.unshift()
  args.unshift("sendCommand", name);

  // See Function.apply()
  ExternalInterface.call.array(null, args);
}
于 2008-12-03T22:38:37.110 回答