Flash/Flex學習筆記(9):ActionScript3.0與Javascript的相互調用

來源:互聯網
上載者:User

原理跟Silverlight中的幾乎如出一轍(見Silverlight如何與JS相互調用):

ActionScript3代碼:

btnCallJs.addEventListener(MouseEvent.CLICK,fnCallJs);function fnCallJs(e:MouseEvent):void {trace("準備調用...");//調用js中的JsHello方法,並將傳回值顯示到Label中lblResult.text=ExternalInterface.call("JsHello","AS3傳遞的參數");}function CalledByJs(p:String):String {return "Flash中的CalledByJs被調用了,這是js中傳過來的參數:" + p;}ExternalInterface.addCallback("MyFunction",CalledByJs);//這裡:MyFunction就是暴露給js調用的方法名稱

 

嵌入flash的頁面中這樣處理:

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" ... id="Js_AS3" >...</object><script type="text/javascript">function JsHello(msg){var r = "這是js中的方法,參數:" + msg;alert(r);return r;}function fnCallAs(msg){var flashObj = document.getElementById("Js_AS3");var sAsReturn = flashObj.MyFunction("js中的參數");alert(sAsReturn);}fnCallAs("test");</script>
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.