внешний интерфейс
-
22-07-2019 - |
Вопрос
У меня есть функция 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);
}
Не связан с StackOverflow