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

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

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

    分享java帶來的快樂

    我喜歡java新東西

    flash中ExternalInterface不會造成方法覆蓋

    在JavaScript與Flash的通信一文中我介紹了利用ExternalInterface來實現(xiàn)的JS與AS雙向通信,有朋友跟我提出疑問如果AS或者JS中都定義了同名函數(shù),那么會造成方法覆蓋嗎?這的確是個需要考慮的問題,通過測試證明,即使出現(xiàn)了同名方法的定義,它們也是相互獨立的,不會造成方法覆蓋。

      一、AS調用JS方法時出現(xiàn)同名方法(查看實例)

     
        AS代碼如下:
       
        import flash.external.*;
        var v =ExternalInterface.available;
        t_btn.onRelease = function (){
            //調用JS函數(shù)
            var s = ExternalInterface.call("say","JS函數(shù)調用成功!")
            //調用AS本地函數(shù)
            s +=say("\n本地函數(shù)調用成功!");
            r_txt.text = s;
        }
        //AS本地函數(shù)
        function say(s){
            return s;
        }
      
        HTML代碼:
       //定義一個JS函數(shù)
       function say(txt){
            return txt;
        }

     可以看到在JS中定義了一個say方法供AS調用,現(xiàn)在我們在AS中定義了一個同名的say方法來驗證它們是否會出現(xiàn)覆蓋。結果證明它們不會覆蓋,都工作得很好。(PS:不錯~)


    二、JS調用AS方法時出現(xiàn)同名方法(查看實例)


      AS代碼如下://導入包
            import flash.external.*;
            //提供JS訪問的函數(shù)名
            var _method:String = "say";
            //指定本地函數(shù)中this變量的作用域,可設置為null留空
            var e_area:Object =null;
            //AS內部函數(shù)名
            var method:Function = say;
            //將函數(shù)注冊到容器列表
            var wasSuccessful:Boolean = ExternalInterface.addCallback(_method, e_area, method);
            //查看注冊是否成功
            if(wasSuccessful){
                result_txt.text = "函數(shù)注冊成功";
            }
            //本地的函數(shù)
            function say(txt:String) {
                result_txt.text = txt;
            }

        HTML代碼如下:
     <div>
      <form>
       <input type="button" onclick="callExternalInterface()" value="JS調用AS方法" />
      </form>
      <script>
       function callExternalInterface() {
        thisMovie("demo").say("Hello,World");
       }
       //瀏覽器兼容訪問DOM
       function thisMovie(movieName) {
        if (navigator.appName.indexOf("Microsoft") != -1)
        {
         return window[movieName]
        }else{
         return document[movieName]
        }
       }
       //定義一個JS本地函數(shù)
       function say(s){
        alert(s);
       }
      </script>
     </div>


      可以看到在AS中定義了一個say方法供JS調用,現(xiàn)在我們在JS中定義了一個同名的say方法來驗證它們是否會出現(xiàn)覆蓋。結果證明它們不會覆蓋,都工作得很好。(PS:也不錯~)


      通過上面的兩個例子我們可以得出結論在使用ExternalInterface時即使定義了同名方法,也不會造成方法覆蓋,你大可放心使用

    posted on 2012-04-19 22:52 強強 閱讀(426) 評論(0)  編輯  收藏 所屬分類: web技巧Flash

    主站蜘蛛池模板: 亚洲AV成人影视在线观看| 91麻豆精品国产自产在线观看亚洲 | 免费无码又爽又刺激高潮的视频| 亚洲自偷自偷精品| 久久久久免费看黄a级试看| 国产av天堂亚洲国产av天堂| 一区二区三区在线免费| 国产精品亚洲αv天堂无码| 一区二区三区在线免费 | 蜜桃视频在线观看免费视频网站WWW| 亚洲色精品vr一区二区三区| 久久www免费人成精品香蕉| JLZZJLZZ亚洲乱熟无码| 中文无码日韩欧免费视频| 亚洲午夜无码久久久久| 欧洲人免费视频网站在线| 久久亚洲sm情趣捆绑调教| 手机看黄av免费网址| 亚洲日韩精品无码AV海量| 日本免费网站观看| 国产特黄一级一片免费 | 亚洲s码欧洲m码吹潮| 国产精品免费电影| 亚洲精品视频免费观看| 久久亚洲精品国产精品黑人| 国产精品视频免费| 国产成人不卡亚洲精品91| 中文字幕亚洲一区| 国产一卡2卡3卡4卡2021免费观看 国产一卡2卡3卡4卡无卡免费视频 | 91精品成人免费国产| 九九精品免费视频| 免费的黄网站男人的天堂| 亚洲精品国精品久久99热| 国产免费一级高清淫曰本片| 亚洲天天做日日做天天看| 毛片在线看免费版| 成人特级毛片69免费观看| 亚洲国产精彩中文乱码AV| 久久成人国产精品免费软件| 亚洲AV无码一区二区三区牛牛| 国产青草视频在线观看免费影院|