<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    云自無心水自閑

    天平山上白云泉,云自無心水自閑。何必奔沖山下去,更添波浪向人間!
    posts - 288, comments - 524, trackbacks - 0, articles - 6
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    一、在JavaScript中調(diào)用Flex方法
    在Flex中可以用ExternalInterface來調(diào)用Flex的方法,途徑是通過在Flex應用可調(diào)用方法列表中添加指定的公用方法。在Flex應用中通過調(diào)用addCallback()可以把一個方法添加到此列表中。addCallback將一個ActionScript的方法注冊為一個JavaScript和VBScript可以調(diào)用的方法。
    addCallback()函數(shù)的定義如下:
    addCallback(function_name:String, closure:Function):void
    function_name參數(shù)就是在Html頁面中腳本調(diào)用的方法名。closure參數(shù)是要調(diào)用的本地方法,這個參數(shù)可以是一個方法也可以是對象實例。

    舉個例子:
    <mx:Script>
    ??? import flash.external.*;
    ??? public function myFunc():Number {
    ??????? return 42;
    ??? }
    ??? public function initApp():void {
    ??????? ExternalInterface.addCallback("myFlexFunction",myFunc);
    ??? }
    </mx:Script>
    那么在Html頁面中,先獲得SWF對象的引用,也就是用<object .../>聲明的Swf的Id屬性,比如說是MyFlexApp。然后就可以用以下方式調(diào)用Flex中的方法。
    <SCRIPT language='JavaScript' charset='utf-8'>
    ??? function callApp() {
    ??????? var x = MyFlexApp.myFlexFunction();
    ??????? alert(x);
    ??? }
    </SCRIPT>
    <button onclick="callApp()">Call App</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的使用非常簡單,語法如下:
    flash.external.ExternalInterface.call(function_name: String[, arg1, ...]):Object;
    參數(shù)function_name是要調(diào)用的JavaScript的函數(shù)名,后面的參數(shù)是JavaScript需要的參數(shù)。
    舉個例子說明如何調(diào)用JavaScript函數(shù)
    Flex應用中,添加如下方法:
    <mx:Script>
    <?xml version="1.0" encoding="iso-8859-1"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
    ??? <mx:Script>
    ??????? import flash.external.*;
    ?? ?
    ??????? public function callWrapper():void {
    ??????????? var f:String = "changeDocumentTitle";
    ??????????? var m:String = ExternalInterface.call(f,"New Title");
    ??????????? trace(m);
    ??????? }
    ??? </mx:Script>
    ??? <mx:Button label="Change Document Title" click="callWrapper()"/>
    </mx:Application>
    Html頁面中有如下函數(shù)定義:
    <SCRIPT LANGUAGE="JavaScript">
    ??? function changeDocumentTitle(a) {
    ??????? window.document.title=a;
    ??????? return "successful";
    ??? }
    </SCRIPT>


    評論

    # re: Flex與JavaScript的交互:調(diào)用JavaScipt或者被JavaScript調(diào)用  回復  更多評論   

    2006-12-04 10:44 by IT DAIMON
    非常感謝,這篇文章對于我這個初學者來說真是太有幫助了 ^_^

    # re: Flex與JavaScript的交互:調(diào)用JavaScipt或者被JavaScript調(diào)用[未登錄]  回復  更多評論   

    2008-04-28 21:09 by gg
    good

    # re: Flex與JavaScript的交互:調(diào)用JavaScipt或者被JavaScript調(diào)用  回復  更多評論   

    2008-10-29 10:01 by 楊愛友
    根據(jù)我剛才的迷惑給你添加一句,樓主的“Html頁面中有如下函數(shù)定義:”這句中html頁面指的是與你mxml文件對象的頁面,比如上面的flex應用名為first.mxml,那么那段Javascript函數(shù)加在first.html里。
    其實在eclipse里運行mxml時運行的就是對應的html文件,只是這個html文件里被嵌入了mxml。

    # re: Flex與JavaScript的交互:調(diào)用JavaScipt或者被JavaScript調(diào)用  回復  更多評論   

    2009-07-07 13:26 by 三十歲
    好像firefox中不行啊

    # re: Flex與JavaScript的交互:調(diào)用JavaScipt或者被JavaScript調(diào)用  回復  更多評論   

    2009-09-17 20:38 by HalZhang
    正要用,學習了

    # re: Flex與JavaScript的交互:調(diào)用JavaScipt或者被JavaScript調(diào)用  回復  更多評論   

    2012-04-06 09:47 by 孫波波
    @楊愛友
    請問clean一下就沒了,這怎么辦?

    # re: Flex與JavaScript的交互:調(diào)用JavaScipt或者被JavaScript調(diào)用  回復  更多評論   

    2012-09-13 10:48 by heson
    嗯,還不錯。
    主站蜘蛛池模板: 皇色在线免费视频| 午夜影视日本亚洲欧洲精品一区| 免费人妻精品一区二区三区| 一级看片免费视频囗交| 国产男女猛烈无遮档免费视频网站 | 亚洲免费在线观看| 一级做a爰片久久毛片免费陪| 亚洲高清无码专区视频| 亚洲国产精品无码av| 久久久久久毛片免费看| 亚洲午夜久久久久久久久电影网| 五月婷婷免费视频| 亚洲日本在线观看视频| 久久丫精品国产亚洲av| 国产好大好硬好爽免费不卡| 久久久久久久尹人综合网亚洲| 亚欧洲精品在线视频免费观看| 在线观看免费av网站| 亚洲成AV人片在线播放无码| 久久免费高清视频| 亚洲精品WWW久久久久久| 精品亚洲国产成人av| 国产片免费福利片永久| 免费福利在线观看| 亚洲人成网站色在线入口| 一级成人毛片免费观看| 免费人成在线观看网站品爱网日本| 在线亚洲午夜理论AV大片| 亚洲偷自精品三十六区| 青娱分类视频精品免费2| 亚洲国产区男人本色在线观看| 成人免费一区二区三区| 久久香蕉国产线看观看亚洲片| 69视频在线观看免费| 亚洲欧洲精品成人久久曰| 四虎影库久免费视频| 亚洲深深色噜噜狠狠网站| 欧洲乱码伦视频免费| 亚洲国产精品ⅴa在线观看| 免费欧洲美女牲交视频| 国产美女视频免费观看的网站|