您的位置:首页 > Web前端 > JavaScript

flash与javascript交互

2011-10-10 01:06 225 查看
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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: