flash8与javascript集成

第1页:flash8与javascript集成 第2页:flash8与javascript集成

但是使用这种方法从flash调用javascript函数仍存在许多困难。特别是在处理多个javascript函数调用问题上。ExternalInterface API可以与javascript实现无缝调用,并且它的能力达到可以在flash时间线使用。

在我们正式进入它的使用方法之前,我们需要确保在flash时间上可用,就要导入它的类向这样:

代码:

import flash.external.*;

现在它已经允许我们做的第一件事就是可以调用javascript函数了。

Call 调用方法

call方法对于ExternalInterface对象来说是一个静态方法,也就是说我们不需要使用ExternalInterface对象的实例来调用方法,我们可以直接通过对象类来调用,向这样:

代码:

ExternalInterface.call(functionName:String,Parameters);

这个方法有两个参数:

·functionName – 你想要调用的javascript函数名要以字符串的形式

·Parameters – 需要传递给javascript函数的参数,用逗号分开,是可选的。

这些是基本的内容,现在让我们来看一个例子:

1.创建一个flash文档命名为external1.fla.

2.创建两个层上面的层命为AS,下面的层命名为”内容”

3.在内容层里面,创建一个文本域,将它设置为输入文本域,打开显示边框以方便你能看到,并给它取个名字为alert_txt,将它放在场景的左边。

4.仍然在内容这一层上,拖动一个按钮组件于场景中并把它放在动态文本的右边,设置它的label为”Alert”并给它起个名字为alert_butn.

5.选择上方的as层在第一帧上输入代码,

6.//调用alert

7.

代码:

import flash.external.*;

alert_butn.clickHandler = function() {

ExternalInterface.call("alert", alert_txt.text);

}

前面部分的代码是导入ExternalInterface类包。然后为按钮组件设置事件,当点击时调用javascript函数,并将文本中输入的文本通过externalInterface传递给javascript函数。

现在发布你的影片,将它和html放在服务器上,当你在服务器上测试时不论你在文本中输入什么信息,它都将显示在alert对话框中,但是如果你在本地测试,你可能就会发现当你点击按钮时,什么也没发生,这是由flashplayer的安全特性造成的。

上面这个范例是一个方法的例子,使用getURL方法也可以做到,然而externalinterface不只是能做到这些,除了发送信息给javascript,它还可以通过addCallback方法接收从javascript返回的信息。

Published At
Categories with 图形图象
Tagged with
comments powered by Disqus