flex4 与几种页面间 交互方法

通过 SWFObject 模块

SWFObject是一个用于在HTML中插入Adobe Flash媒体资源(*.swf文件)的独立、敏捷的JavaScript模块。该模块中的JavaScript脚本能够自动检测PCMac机器上各种主流浏览器对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才可以调用到。

ActionScript代码:

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代码:

<script language="JavaScript">

        function callAs(){

           //MyFlexApp是页面引入Flex的swf文件后所取的名字

            MyFlexApp. flexFunction();

         }

</script>

示例说明:

   flex容器中事先注册了flexFunction()方法,当Java端调用了callAs()方法后,MyFlexApp容器就会捕获到flexFunction()方法,之后Flex会触发resultHandler()方法,在Flex容器中弹出一个为“Hello”的窗口。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值