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

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

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

    自由飛翔

    我在仰望,java之上

    統(tǒng)計(jì)

    留言簿(2)

    我關(guān)注的blog

    閱讀排行榜

    評論排行榜

    轉(zhuǎn)載:在JavaScript中調(diào)用Flex方法

    文章來源:http://www.cnblogs.com/liuzhong/archive/2011/06/27/2091294.html
    一、在JavaScript中調(diào)用Flex方法
    在Flex中可以用ExternalInterface來調(diào)用Flex的方法,途徑是
    1.通過在Flex應(yīng)用可調(diào)用方法列表中添加指定的公用方法。 在Flex應(yīng)用中通過調(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ù)可以是一個方法也可以是對象實(shí)例。

    舉個例子:
    <mx:Script>
        import flash.external.*;
        public function myFunc():Number {
            return 42;
        }
        public function initApp():void {
            ExternalInterface.addCallback("myFlexFunction",myFunc);
        }
    </mx:Script>

    2.那么在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)用遠(yuǎn)程方法。還可以將數(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應(yīng)用中,添加如下方法:
    <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>

    Gavin

    posted on 2011-12-29 00:51 GavinMiao 閱讀(377) 評論(0)  編輯  收藏 所屬分類: flex


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲尤码不卡AV麻豆| 久久免费美女视频| 91香蕉国产线观看免费全集| 狠狠久久永久免费观看| 亚洲国产精品一区二区久久| 亚洲精品偷拍视频免费观看| 日本免费中文字幕在线看| 亚洲午夜电影一区二区三区| 欧洲人成在线免费| 亚洲午夜久久久久妓女影院| 一级做a爰全过程免费视频毛片| 女人与禽交视频免费看| 亚洲一区二区三区乱码在线欧洲| 最近免费中文字幕mv电影| 亚洲不卡中文字幕无码| 日韩精品免费在线视频| 国产AV无码专区亚洲Av| 两性色午夜视频免费网| 日本亚洲欧洲免费天堂午夜看片女人员 | 国产亚洲一区二区在线观看| 国产成人高清精品免费观看| 91麻豆精品国产自产在线观看亚洲| 美女无遮挡免费视频网站| 亚洲人成无码www久久久| 一本岛v免费不卡一二三区| 怡红院亚洲怡红院首页| 久久大香伊焦在人线免费| 久久精品国产亚洲AV大全| 毛片免费全部免费观看| 黄色大片免费网站| 亚洲第一成年男人的天堂| 国产精品久久久久久久久久免费| 亚洲AV无码资源在线观看| 国产亚洲精品观看91在线| 国产精品永久免费10000| 国产精品亚洲专区无码牛牛| 亚洲日韩中文字幕在线播放| 国产91免费视频| 一级成人生活片免费看| 亚洲另类图片另类电影| 鲁大师在线影院免费观看 |