加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

flash与javascript交互

发布时间:2020-12-15 06:44:58 所属栏目:百科 来源:网络整理
导读:from:http://hi.baidu.com/boy2143/blog/item/417dcfb33fc260a9d8335a45.html 在Flash应用程序中,常常使用Web浏览器作为宿主程序,以实现Flash Player播放器与外部数据之间的数据交换。在ActionScript 3.0中,使用ExternalInterface类实现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);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读