标签归档:actionscript

JS与Flex交互的几点注意事项

这段时间要做一个需要JS与Flex交互的页面,但在制做过程中不停地出现错误,查了很多资料,自己也在不断地摸索尝试各种方法,得出了一些需要注意的问题。 一,在Flex中,addCallack所输出供给JS调用的函数名称不能与JS中己有的函数名称相重复,如下所示: ExternalInterface.addCallback(“play”,callThis); 上面这一句在IE中就发生错误,因为“play”这个函数名称已经被分配给DOM元素了,改一个名字就可以了,如下就正确了。 ExternalInterface.addCallback(“MyPlay”,callThis); 二,在向页面中嵌入swf文件时,要用Adobe的官方JS文件或者版本为2.+的SWFOBJECT。 Adobe的官方JS文件就是AC_OETags.js文件,如果你用的是Flex SDK,可以在Flex SDK安装目录下的templates文件夹中找。在用AC_OETags.js文件时,请把下面这段代码加入到页面中: function getMovie(movieName){ if (navigator.appName.indexOf(“Microsoft”)!=-1){ return window[movieName]; }else{ return document[movieName]; } } 用下面的代码调用Flex中的命令: getMovie(‘MyFlex’).MyPlay(); 如果使用的是SWFOBJECT,请使用2.0或2.0以上的版本,使用方法可以查看《翻译:SWFOBJECT 2.0官方文档》,然后使用如下语句调用Flex中的命令: swfobject.getObjectById(“MyFlex”).MyPlay(); 查看演示请点击这里。mxml文件代码如下 : <?xml version=”1.0″ encoding=”utf-8″?> <mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml” applicationComplete=”init();” layout=”vertical” verticalAlign=”middle” horizontalAlign=”center”> <mx:Script> <![CDATA[ import flash.events.MouseEvent; … 继续阅读

发表在 Flash | 标签为 , , , | 留下评论