ActionScript3 調用 JavaScript

來源:互聯網
上載者:User
這裡我們用最簡單的代碼來示範如何在AS3代碼中調用宿主HTML中的JavaScript代碼

MXML代碼:<?xml version="1.0" encoding="utf-8"?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="*"
    creationComplete="onCreationComplete()">

    <mx:Script source="ExternalInterfaceASJS.as" />

    <mx:Canvas width="100%" height="100%">
        <mx:Panel x="0" y="0" height="100" width="500" title="ExternalInterface : ActionScript to JavaScript">
            <mx:Canvas height="100%" width="100%">
                <mx:Button x="346" y="11" label="發送資訊給JavaScript" id="submitButton"/>
                <mx:TextInput x="5" y="11" width="334" id="tInput" />
            </mx:Canvas>
        </mx:Panel>
        
    </mx:Canvas>
</mx:Application>

 AS3代碼:
import flash.events.MouseEvent;
import flash.external.ExternalInterface;
import flash.system.Security;

private function onCreationComplete():void
...{
    Security.allowDomain("*");    submitButton.addEventListener("click", onSubmitClick);
}

private function onSubmitClick(event:MouseEvent):void
...{
    //確認下ExternalInterface的available屬性是否為true
    //如果運行在獨立版的Flash播放器中,則該屬性返回false
    if(ExternalInterface.available)
    ...{
        var s:String = tInput.text;
        
        //調用JavaScript函數
        ExternalInterface.call("displayString", s);
    }
}

HTML中的JavaScript代碼:<script language="JavaScript">

//this function will be called by flash
function displayString(s)
...{
    alert("From Flash : " + s);
}

</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.