萬盛學電腦網

 萬盛學電腦網 >> 腳本專題 >> javascript >> 如何利用Flex調用JavaScript代碼

如何利用Flex調用JavaScript代碼

  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端的返回值。

copyright © 萬盛學電腦網 all rights reserved