3

次の Flash メソッドがあるとします。

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

ExternalInterface.call() が引数を展開された形式で解釈するようにするにはどうすればよいですか? 現在、「args」にリストを渡すと、そのリストは、ExternalInterface.call() によって「Object[]」型の単一の引数として解釈されます。引数が Java に到達すると、コンマで区切られた複数の引数と、値の一部としてコンマを含む単一の引数を区別する方法がありません。

4

2 に答える 2

5

1 つの小さなタイプミス。そのはず:

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 に答える