學習筆記 如何利用Flex調用JavaScript代碼
本文和大家重點學習一下Flex調用JavaScript代碼,在Flex調用JavaScript最簡單的方法是使用ExternalInterface(),可以使用此API調用任意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的使用非常簡單,語法如下:
- 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端的返回值。
【編輯推薦】
- Flex與JavaScript交互中如何用Flex調用JavaScript
- Flex跨域訪問沙箱問題解決方案
- 技術前沿 看Flex客戶端緩存技術如何使用
- 解析Flex全屏模式設置方法
- Flex內存泄露解決方法和內存釋放優化原則