вернуть значение из flash в javascript - PullRequest
0 голосов
/ 01 сентября 2011

Как я могу вернуть значение из AS3 в JavaScript.Я вызываю метод AS3 из JS и хочу, чтобы этот метод AS3 возвратил строку:

//javascript
var string = swfObject["abcmethod"](arg1);

Единственный известный мне способ - это добавить метод обратного вызова, который вызывается из Flash обратно в JS.Есть ли лучший способ?

1 Ответ

5 голосов
/ 01 сентября 2011

Канал связи между AS3 и Javascript поддерживает передачу значения обратно в вызываемую функцию Javascript. Это в документах:

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/external/ExternalInterface.html

Используя класс ExternalInterface, вы можете вызвать ActionScript функция во время выполнения Flash, используя JavaScript на странице HTML. Функция ActionScript может возвращать значение, а JavaScript получает его немедленно как возвращаемое значение вызова.

Если код, который у вас не работает, попробуйте использовать другой синтаксис. Вот что я обычно использую:

var myFlashObject = document.getElementById("theIdYouSuppliedToSwfObject");
var myResult = myFlashObject.abcmethod(arg1);

Ваш код в ActionScript должен выглядеть примерно так:

ExternalInterface.addCallback("abcmethod", onAbcMethodCall);
private function onAbcMethodCall(...args:Array):String
{ return "Hello World"; }
...