<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)航:
     
    主站蜘蛛池模板: 中文字幕乱码免费看电影| 国产免费黄色无码视频| 91在线视频免费播放| 亚洲男人的天堂在线播放| 日本免费人成视频在线观看| 亚洲av日韩av无码| 日韩精品久久久久久免费| 久久精品国产亚洲av水果派 | 成年女人免费v片| 亚洲综合一区二区三区四区五区| 成年私人影院免费视频网站| 亚洲αⅴ无码乱码在线观看性色| 免费看一级做a爰片久久| 国产精品免费大片一区二区| 亚洲精品无码MV在线观看| 秋霞人成在线观看免费视频 | 国产乱子影视频上线免费观看| 国产亚洲精品国产福利在线观看| 亚洲国产精品无码久久青草| 男人天堂免费视频| 亚洲国产成+人+综合| 狠狠久久永久免费观看| 黄桃AV无码免费一区二区三区 | 夜夜爽妓女8888视频免费观看| 亚洲中文字幕无码爆乳AV| 99精品视频在线视频免费观看| 亚洲不卡影院午夜在线观看| 亚洲成?v人片天堂网无码| 久久青草91免费观看| 亚洲精华国产精华精华液好用| 国产亚洲精品免费视频播放| **一级一级毛片免费观看| 亚洲av日韩av永久无码电影| 中文字幕亚洲不卡在线亚瑟| 亚洲免费在线观看视频| 粉色视频成年免费人15次| 亚洲天天做日日做天天欢毛片| 永久黄网站色视频免费| 久久精品乱子伦免费| 亚洲av无码偷拍在线观看| 亚洲av日韩av天堂影片精品|