flex4 与几种页面间 交互方法
通过
SWFObject
模块
SWFObject是一个用于在HTML中插入Adobe Flash媒体资源(*.swf文件)的独立、敏捷的JavaScript模块。该模块中的JavaScript脚本能够自动检测PC、Mac机器上各种主流浏览器对Flash插件的支持情况。它使得插入Flash媒体资源尽量简捷、安全。 写法: swfobject.embedSWF("swf","id","width","height","version","background-color",参数); swf - SWF文件路径 ???????????? id - 为这个SWF文件分配的id值,它将用于给embed与object标签设定name属性 ???????????? width - 宽度 ?????????? height - 高度 ???????????? version - FlashPlayer需要的版本号,它可以详细到'主版本号.小版本号.细节' background-color - Flash资源的背景色,16进制格式 参数 – web页面传递给swf的参数值 通过ExternalInterface类调用JavaScript ExternalInterface?类是外部?API,这是一个在?ActionScript?和?Flash Player?容器之间实现直接通信的应用程序编程接口,Adobe?建议使用?ExternalInterface?实现?JavaScript?与?ActionScript?之间的所有通信。 (一)ActionScript调用?JavaScript ActionScript代码: ExternalInterface. call(functionName:String,..arguments):* ??????? functionName: javaScript方法名 arguments: 参数(不传递参数或传递多个参数) 例如: ExternalInterface.call(“callApp”,”abc”); javaScript代码: <script language="JavaScript"> ????????????????? function callApp(str) { ????????????????????????? window.alert(str); } </script> 示例说明:当Flex把参数“abc”通过调用JS方法?callApp(str),把值传入到页面中,JavaScript会弹出一个显示为” abc ”的窗口信息。 (二)JavaScript调用ActionScript javaScirpt也可以调用ActionScript,不同的是需要Flex事先将方法注册于容器中,这样javaScript才可以调用到。 ExternalInterface.addCallback(functionName:String,closure:Function); addCallback()方法是允许javascript调用flex函数 functionName: flex自定义的方法名,供javascript调用 closeure:?? flex端自定义方法,当javascript调用后,需要做的逻辑处理 ExternalInterface.addCallback(“flexFunction”,resultHandler); private function resultHandler():void{ ??? Alert.show(“Hello”); Java代码: ??????? function callAs(){ ?????????? //MyFlexApp是页面引入Flex的swf文件后所取的名字 ??????????? MyFlexApp. flexFunction(); ???????? } 示例说明: ?? flex容器中事先注册了flexFunction()方法,当Java端调用了callAs()方法后,MyFlexApp容器就会捕获到flexFunction()方法,之后Flex会触发resultHandler()方法,在Flex容器中弹出一个为“Hello”的窗口。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |