成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Flex與JavaScript交互中如何用Flex調用JavaScript

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

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

Flex與JavaScript的交互

一、在JavaScript中調用Flex方法

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

addCallback()函數的定義如下:
 

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

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

舉個例子: 

  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。然后就可以用以下方式調用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調用JavaScript

你可以調用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需要的參數。

舉個例子說明如何Flex調用JavaScript函數

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頁面中有如下函數定義:
 

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

【編輯推薦】

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

 

責任編輯:佚名 來源: csdn.net
相關推薦

2010-08-10 17:01:48

FlexJavaScript

2010-07-30 13:08:38

Flex調用JavaS

2011-08-17 09:27:55

FlexJava

2010-07-27 15:36:15

Flex swf

2010-07-28 15:29:18

Flex函數

2009-07-06 10:41:38

flex與servle

2010-08-10 09:40:23

Flex與瀏覽器交互

2010-08-09 15:30:00

Flex字體

2010-07-27 13:46:18

Flex swf

2014-07-29 11:16:07

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事件

2009-07-03 08:58:22

Flex教程Flex程序

2010-08-05 13:27:06

Flex布局

2010-08-09 15:41:13

Flex字體

2010-07-27 10:54:22

Flex
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩1区 | 欧美日韩一区二区三区四区 | 三区在线 | 免费国产视频在线观看 | 日本午夜免费福利视频 | 欧美日韩综合一区 | 午夜影院| 麻豆久久久久 | 成人欧美一区二区三区在线播放 | 国产91久久久久久久免费 | 毛片在线免费 | 亚洲一区二区三区免费在线观看 | 激情五月激情综合网 | 在线看亚洲 | 一区视频在线免费观看 | 欧美一区二区久久 | 黄色福利 | 国产精品久久毛片av大全日韩 | 国产欧美精品一区二区 | 亚洲一区二区久久 | 午夜精品一区二区三区在线视频 | 国产精品一区二区三区在线 | 成人免费网站视频 | 丁香久久| 亚洲国产高清在线观看 | 自拍视频网站 | 在线播放一区 | 国产不卡一 | 婷婷精品| 色婷婷在线视频 | 国产精品自在线 | 欧美久久久久久久久中文字幕 | 黄色播放 | 狠狠操狠狠操 | 成人日韩av | 久久久久久电影 | 一区二区在线不卡 | 99精品国产在热久久 | 久久av网站 | 国产乡下妇女做爰 | 精品视频在线观看 |