<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 v无码专区亚洲av| 中文在线观看国语高清免费| 亚洲人成在线免费观看| 老司机亚洲精品影院| 亚洲av无码一区二区三区网站| 国产香蕉九九久久精品免费| 99久久免费精品视频| 91在线手机精品免费观看| 日韩免费视频一区二区| 青青草原1769久久免费播放| 免费看成人AA片无码视频吃奶| 永久免费av无码网站yy| a级毛片在线免费看| 亚洲精品免费在线观看| 最近免费中文字幕高清大全| 无码A级毛片免费视频内谢| 91精品免费不卡在线观看| h视频在线观看免费网站| 免费在线观看的网站| 午夜时刻免费入口| 亚洲av无码天堂一区二区三区| 全黄性性激高免费视频| 亚洲av永久无码精品古装片| 亚洲午夜电影在线观看高清| 国产精品久久亚洲一区二区| 国产精品hd免费观看| 免费无码又爽又刺激高潮视频| 毛片免费视频观看| 亚洲精品在线视频| 亚洲午夜久久久久久尤物| 日本一区二区三区免费高清在线| 本免费AV无码专区一区| 波多野结衣免费在线| 自拍偷自拍亚洲精品被多人伦好爽| 亚洲国产精品网站久久| 日韩精品无码免费专区午夜 | 有码人妻在线免费看片| 久久午夜伦鲁片免费无码| 亚洲日韩人妻第一页| 亚洲人成网站18禁止|