الواجهة الخارجية
-
22-07-2019 - |
سؤال
ولدي وظيفة أحسب في جافا سكريبت يأخذ المعلمات الثلاث صحيح، التالي هو رمز 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 الحجج العودة من جافا سكريبت وعرضها في ومضة؟
المحلول
وبالإضافة إلى ذلك، تحتاج إلى تسجيل 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