自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Flex與JavaScript交互中如何用Flex調(diào)用JavaScript

開發(fā) 后端
你對在Flex中調(diào)用JavaScript的方法是否了解,這里和大家分享一下,最簡單的方法是使用ExternalInterface(),可以使用此API調(diào)用任意JavaScript,傳遞參數(shù),獲得返回值。

本文和大家重點討論一下Flex與JavaScript的交互:Flex調(diào)用JavaScript或者被JavaScript調(diào)用,在Flex中調(diào)用JavaScript最簡單的方法是使用ExternalInterface(),可以使用此API調(diào)用任意JavaScript,傳遞參數(shù),獲得返回值,如果調(diào)用失敗,F(xiàn)lex拋出一個異常。

Flex與JavaScript的交互

一、在JavaScript中調(diào)用Flex方法

在Flex中可以用ExternalInterface來調(diào)用Flex的方法,途徑是通過在Flex應用可調(diào)用方法列表中添加指定的公用方法。在Flex應用中通過調(diào)用addCallback()可以把一個方法添加到此列表中。addCallback將一個ActionScript的方法注冊為一個JavaScript和VBScript可以調(diào)用的方法。

addCallback()函數(shù)的定義如下:
 

  1. addCallback(function_name:String,closure:Function):void 

function_name參數(shù)就是在Html頁面中腳本調(diào)用的方法名。closure參數(shù)是要調(diào)用的本地方法,這個參數(shù)可以是一個方法也可以是對象實例。

舉個例子: 

  1. <mx:Script> 
  2. importflash.external.*;  
  3. publicfunctionmyFunc():Number{  
  4. return42;  
  5. }  
  6. publicfunctioninitApp():void{  
  7. ExternalInterface.addCallback("myFlexFunction",myFunc);  
  8. }  
  9. </mx:Script> 

 那么在Html頁面中,先獲得SWF對象的引用,也就是用<object.../>聲明的Swf的Id屬性,比如說是MyFlexApp。然后就可以用以下方式調(diào)用Flex中的方法。
 

  1. <SCRIPTlanguageSCRIPTlanguage='JavaScript'charset='utf-8'> 
  2. functioncallApp(){  
  3. varx=MyFlexApp.myFlexFunction();  
  4. alert(x);  
  5. }  
  6. </SCRIPT> 
  7. <buttononclickbuttononclick="callApp()">CallApp</button> 

 二、Flex調(diào)用JavaScript

你可以調(diào)用Html頁面中的JavaScript,通過與JavaScript的交互,可以改變Style,調(diào)用遠程方法。還可以將數(shù)據(jù)傳遞給Html頁面,處理后再返回給Flex,完成這樣的功能主要有兩種方法:ExternalInterface()和navigateToUrl()。

在Flex中調(diào)用JavaScript最簡單的方法是使用ExternalInterface(),可以使用此API調(diào)用任意JavaScript,傳遞參數(shù),獲得返回值,如果調(diào)用失敗,F(xiàn)lex拋出一個異常。
ExternalInterface封裝了對瀏覽器支持的檢查,可以用available屬性來查看。

ExternalInterface的使用非常簡單,語法如下:
 

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

參數(shù)function_name是要調(diào)用的JavaScript的函數(shù)名,后面的參數(shù)是JavaScript需要的參數(shù)。

舉個例子說明如何Flex調(diào)用JavaScript函數(shù)

Flex應用中,添加如下方法:
 

  1. <mx:Script> 
  2. <?xmlversionxmlversion="1.0"encoding="iso-8859-1"?> 
  3. <mx:Applicationxmlns:mxmx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml"> 
  4. <mx:Script> 
  5. importflash.external.*;  
  6.  
  7. publicfunctioncallWrapper():void{  
  8. varf:String="changeDocumentTitle";  
  9. varm:String=ExternalInterface.call(f,"NewTitle");  
  10. trace(m);  
  11. }  
  12. </mx:Script> 
  13. <mx:Buttonlabelmx:Buttonlabel="ChangeDocumentTitle"click="callWrapper()"/> 
  14. </mx:Application> 
  15.  

 Html頁面中有如下函數(shù)定義:
 

  1. <SCRIPTLANGUAGESCRIPTLANGUAGE="JavaScript"> 
  2. functionchangeDocumentTitle(a){  
  3. window.document.title=a;  
  4. return"successful";  
  5. }  
  6. </SCRIPT> 

【編輯推薦】

  1. Flex樣式的添加和卸載
  2. Flex安全沙箱問題解決方法
  3. 技術(shù)前沿 看Flex客戶端緩存技術(shù)如何使用
  4. 解析Flex全屏模式設置方法
  5. Flex內(nèi)存泄露解決方法和內(nèi)存釋放優(yōu)化原則

 

責任編輯:佚名 來源: csdn.net
相關(guān)推薦

2010-08-10 17:01:48

FlexJavaScript

2010-07-30 13:08:38

Flex調(diào)用JavaS

2011-08-17 09:27:55

FlexJava

2010-07-27 15:36:15

Flex swf

2010-07-28 15:29:18

Flex函數(shù)

2009-07-06 10:41:38

flex與servle

2010-08-10 09:40:23

Flex與瀏覽器交互

2010-08-09 15:30:00

Flex字體

2014-07-29 11:16:07

2010-07-27 13:46:18

Flex swf

2010-08-06 13:59:00

Flex和Html交互

2010-08-12 13:34:13

Flex驗證組件

2017-10-18 12:22:43

NativeHybirdJavaScript

2009-12-07 18:42:55

PHP與Javascr

2010-02-06 14:19:26

ibmdwGoogleMap

2010-08-06 10:03:42

Flex事件

2010-08-09 15:41:13

Flex字體

2009-07-03 08:58:22

Flex教程Flex程序

2010-08-05 13:27:06

Flex布局

2010-07-27 10:54:22

Flex
點贊
收藏

51CTO技術(shù)棧公眾號