Вопрос

У меня есть функция calc в java-скрипте, которая принимает три целочисленных параметра, Ниже приведен код AS3

import flash.external.ExternalInterface;
var para:Array = new Array();
send_btn.addEventListener(MouseEvent.CLICK, clickListener);
function clickListener(eventObj:Object ):void {
    para.push(mean.text);
    para.push(std.text);
    para.push(points.text);
    trace("click > " + para);
    ExternalInterface.call("calc",para );
}    

это правильный способ сделать это, и как мне вернуть обратно 3 аргумента из JavaScript и отобразить их во флэш-памяти?

Это было полезно?

Решение

Кроме того, вам нужно зарегистрировать функцию AS, чтобы она была доступна для контейнера:

ExternalInterface.addCallback("callFlash", myASFunction);

Затем из вашего контейнера (JS) вы вызываете функцию AS и передаете ей любые параметры.

<script language="JavaScript"> 

    flashObject.callFlash(param1, param2, param3); 
</script> 

... 

<object id="flashObject"...> 
    ... 
    <embed name="flashObject".../> 
</object>

Наконец, в AS3 вы пишете функцию, которая будет выполняться, когда контейнер "перезванивает":

function myASFunction(param1:String,param2:String,param3:String):void {
    trace("\n Received call from JS: " + param1 + param2 + param3);
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top