سؤال

ولدي وظيفة أحسب في جافا سكريبت يأخذ المعلمات الثلاث صحيح، التالي هو رمز 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);
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top