js与as交互怎么老失败

js:

    <script>
            function setDate(){
                 var flash = (navigator.appName.indexOf ("Microsoft") !=-1)?window["test"]:document["test"];
                 flash.yun("good");
            }

    </script>

    <object width="400" height="24"  classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000">
            <param name="movie" value="test.swf">
            <embed src="test.swf" width="400" height="24"></embed>
    </object> 
    <button onclick="setDate()">test</button>

as:

    public function test() {
            if (ExternalInterface.available) {
                try {
                    ExternalInterface.addCallback("yun",yun);
                }catch(error:SecurityError){
                    yun("SecurityError");
                }catch(error:Error){
                    yun("Error");
                }
            }else{
                yun("available false");
            }

        }
        public function yun(zi:String):void{
            var mtext:TextField = new TextField();
            mtext.text = zi;
            addChild(mtext);
        }

另外问下flash参数里的window[test]的这个test究竟是swf名字,还是object的id,还是其他,真没搞懂

阅读 2.8k
1 个回答
新手上路,请多包涵

我来回答吧,js调用as的时候必须得等flash准备好之后,也就是完全加载之后才能调用到,否则flash是空的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题