js中调用flash

JavaScript调用swf中函数

http://bbs.flashtc.com/viewthread.php?tid=1051 复制一份,做备份
http://www.webstudio.com.cn/tutorial/tuts/flash8_javascript/external1.html
"""
在过去的一年里,对于开发人员来说使用flash与javascript通讯总会碰到一些麻烦的事情,从flash调用javascript函数已经没有什么问题了,因为我们可以使用getURL方法来直接调用,但是要想使用javascript返回flash在许多浏览器上几乎是不可能的。但是现在可以了。
Flash8的出现,这件事就变的比较容易了。J

The ExternalInterface API

之前我们使用flash调用javascript函数,一般使用这样的方法:
代码:

getURL(“javascript:alert(‘hello webstudio.com.cn’);”);


但是使用这种方法从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的安全特性造成的。
"""

如果你发现在IE下有问题,请看由su27翻译的这篇文章
http://www.yeeyan.com/articles/view/su27/16861

简单的说,就是

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="300" height="120">
<param name="movie" value="myContent.swf" />
<!--[if !IE]>-->

<object type="application/x-shockwave-flash" »
data="myContent.swf" width="300" height="120">
<!--<![endif]-->

<p>Alternative content</p>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>

或者用最新版本的swfobject

http://code.google.com/p/swfobject/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值