最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
flash AS与JavaScript交互实例程序
时间:2022-06-28 22:13:02 编辑:袖梨 来源:一聚教程网
ActionScript调用javaScript
需要引入flash.external.ExternalInterface,这里要用到ExternalInterface类的call方法:
ExternalInterface.call(functionName:String,…arguments):*,fuctionName:
要调用的Javascript函数名,arguments:参数,可选。
调用由 Flash Player 容器公开的函数,传递零个或多个参数。如果所需的函数不可用,则调用返回 null;否则,它返回由该函数提供的值。不允许使用递归;递归调用会生成 null 响应。
如果容器是 HTML 页,则此方法在
如果该容器是其它某个 ActiveX 容器,则此方法会使用指定的名称广播事件,并且该容器会处理该事件。
如果该容器承载 Netscape 插件,您可以写入对新 NPRuntime 接口的自定义支持或嵌入 HTML 控件以及在 HTML 控件内嵌入 Flash Player。如果嵌入 HTML 控件,就可以通过与本机容器应用程序通迅的 JavaScript 接口与 Flash Player 进行通讯。
JavaScript调用ActionScript
需要引入flash.external.ExternalInterface,这要用到ExternalInterface类的addCallback方法:
ExternalInterface.addCallback( functionName:String, closure:Function):void,functionName:
要注册的函数名,closure:对应的执行函数。
ActionScript 方法注册为可从容器调用,成功调用 addCallBack() 后,容器中的 JavaScript 或 ActiveX 代码可以调用在 Flash Player 中注册的函数。
在包含 SWF 文件的 HTML 页中,在该文件的 object 标签中设置参数:
代码如下 | 复制代码 |
Access" value="always" /> 在 SWF 文件中,添加以下 ActionScript: flash.system.Security.allowDomain(sourceDomain ) |
这2个说明为了解决安全沙箱的问题,但是实际使用中,我们常常还会遇到更加头疼的问题。
具体实例
Interactive.fla
新建 fla 文件,舞台大小为300*80,颜色为#CCCCCC,类指定为Interactive;
位置(10,15)处添加260*22大小的Label label;
位置(10,50)处添加170*22大小的TextInput textInput;
位置(190,50)处添加100*22大小的Button button。
代码如下 | 复制代码 | ||
function jsMethod(arg) { function callAs() {
package |