flash与javascript交互

from:http://hi.baidu.com/boy2143/blog/item/417dcfb33fc260a9d8335a45.html

在Flash应用程序中,常常使用Web浏览器作为宿主程序,以实现Flash Player播放器与外部数据之间的数据交换。在ActionScript 3.0中,使用ExternalInterface类实现Flash和JavaScript脚本进行交互操作。本节将介绍Flash到JavaScript和JavaScript到Flash的数据交互的实现方法。
ExternalInterface类是Flash外部的应用程序的编程接口,是一个能够在在ActionScript和Flash Player容器(通常为Web浏览器)之间实现直接通信的应用程序编程接口。使用此接口,可以实现包含JavaScript的HTML页与ActionScript之间的通信。
在Flash Player中,可以使用HTML页中定义的的JavaScript来调用ActionScript函数。ActionScript函数可以返回一个值,JavaScript会立即接收它作为该调用的返回值。

JavaScript脚本简介

JavaScript是一种基于对象和事件驱动并具有安全性能的脚本语言,此语言可以被嵌入到HTML文件之中。使用JavaScript,可使网页变得生动,能够重复使用同一段代码,能够使与HTML文断简化,减少下载时间。
javaScript语言有很多优点,具体如下:
1.使用简单
2.动态交互
3.跨平台操作
4.节约页面资源

在网页中加入JavaScript

有两种方法可以实现在网页中加入JavaScript代码,分别为:直接加入HTML文档和间接引用js文件。
1.直接加入HTML文档
2.间接引用js文档


Flash向JavaScript传递数据

要实现Flash向JavaScript传递数据,可以使用ExternalInterface类的call()方法采用异步调用的方式调用JavaScript的函数来实现。所谓的异步调用,指的是无需等待函数的返回值就让操作继续进行的函数调用方式。
ExternalInterface类的call()方法,语法格式如下所示。
call(functionName:String,...arguments)
说明:此方法为FlashPlayer容器公开的函数,不传递参数或传递多个参数。如果该函数不可用,调用将返回null;否则,它返回由该函数提供的值。

JavaScript向Flash传递数据

要实现JavaScript向Flash传递数据,可以使用ExternalInterface类的addCallback()方法将ActionScript中的函数注册为可以从容器中进行调用。成功调用addCallBack()后,在容器中使用JavaScript或ActiveX代码可以调用在Flash Player中注册的函数。
ExternalInterface类的addCallback()方法,语法格式如下所示。
addCallback (functionName:String, closure:Function)
functionName:要在容器中调用的函数的函数名称。
要调用的closure函数。其可能是一个独立的函数,或者可能是引用对象实例方法的closure方法。通过传递closure方法,可以将回调定向到特定对象实例的方法。
利用JavaScript向Flash传递数据的过程,可以实现下面的操作:
调用ActionScript函数。
使用标准的函数调用表示法传递参数。
将值返回给JavaScript函数。

function callme(name:String):String{
return "testjavascript";
}
ExternalInterface.addCallback("myFunction", callme);

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值