0

何かを行う「closeItem」という名前のcallBack関数を持つ「data」という名前のオブジェクトがあるとします。

だから私は閉じるボタンを持つフラッシュファイルを持っています。それをクリックすると、このアイテムを閉じるこの関数を呼び出しています。

だから問題は?

この「closeItemFunction」をグローバル関数として渡すと、これは正常に機能します。

しかし、この関数を「data.closeItem」として渡すと、これは機能せず、いくつかの偽のエラーがスローされます。

だから私はただそれを聞きたい


「フラッシュはグローバルスコープのJavaScript関数のみを呼び出しますか」 ??

4

2 に答える 2

2

次のように、実行する JavaScript を、宣言して ActionScript から呼び出す無名関数でラップできます。

ExternalInterface.call("function() { data.closeItem(); }");

上記の構文で関数が呼び出され、実行されるのは少し奇妙に思えるかもしれませんが、必要に応じて、次のように、宣言と個別の呼び出しをより明示的にすることができます。

ExternalInterface.call("(function() { data.closeItem(); })()");
于 2012-02-29T10:15:56.080 に答える
1

短い回答 (iirc); "はい"。

電話すれば回避できるかもしれません

ExternalInterface.call("eval", "data.closeItem()")
于 2012-02-29T09:22:41.343 に答える