如何利用Flex調用JavaScript代碼

來源:互聯網
上載者:User

  Flex調用JavaScript代碼

在Flex開發中有時候需要調用JS代碼,例如關閉瀏覽器,或者是在某種情況下開啟瀏覽器提示框等等。一般情況下Flex用ExternalInterface類的call()函數來調用JS代碼,其中call()函數的參數就是String類型的JS程式碼片段。

你可以調用Html頁面中的JavaScript,通過與JavaScript的互動,可以改變Style,調用遠程方法。還可以將資料傳遞給Html頁面,處理後再返回給Flex,完成這樣的功能主要有兩種方法:ExternalInterface()和navigateToUrl()。

在Flex調用JavaScript最簡單的方法是使用ExternalInterface(),可以使用此API調用任意JavaScript,傳遞參數,獲得傳回值,如果調用失敗,Flex拋出一個異常。ExternalInterface封裝了對瀏覽器支援的檢查,可以用available屬性來查看。ExternalInterface的使用非常簡單,文法如下:

  1. flash.external.ExternalInterface.call(function_name:String[,arg1,...]):Object;

     參數function_name是要調用的JavaScript的函數名,後面的參數是JavaScript需要的參數。

As代碼

ExternalInterface.call(FUNCTION_USEREXIT); 

ExternalInterface.addCallback("checkExit",checkExit); 

privatestaticvarFUNCTION_USEREXIT:String="document.insertScript=function()"+" 

 {"+"window.onbeforeunload=function()"+"{"+"varflexObj=MarineDataEdit.checkExit();  

"+"if(flexObj!="")"+"{"+"returnflexObj;"+"}else{"+"return;"+"}"+"}"+"}"; 

publicfunctioncheckExit():String{varuserExitStr:String="你如果現在離開,則您的所有資訊將失效!";  

returnuserExitStr;  

ExternalInterface.call(FUNCTION_USEREXIT);  

ExternalInterface.addCallback("checkExit", 

checkExit);privatestaticvarFUNCTION_USEREXIT:String="document.insertScript=function()"+" 

 {"+"window.onbeforeunload=function()"+"{"+"varflexObj=MarineDataEdit.checkExit();  

"+"if(flexObj!="")"+"{"+"returnflexObj;"+"}else{"+"return;"+"}"+"}"+"}";  

publicfunctioncheckExit():String{varuserExitStr:String="你如果現在離開,則您的所有資訊將失效!";  

returnuserExitStr;  


      其中ExternalInterface類的addCallback函數是調用AS端的傳回值。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.