Flash与JavaScript通信

最近在做项目的过程中需要flash与js之间的互相调用,查找资料flash与js的通信有三中方法。
1.getURL("javascript:jsFunctionName()");
getURL是flash的一个全局函数,作用是向浏览器发送一个请求。熟悉js的人一定知道,向浏览器
发送javascript:开头的请求,其实就是模拟了一个js的请求协议,浏览器会去在当前环境中找指
定的function。
这种方法在flash早期版本比较流行。
2.fscommand("command","arguments");
fscommand的方法是flash中与播放器通讯的方法,通常向播放器,发送命令。
例如:fscommand("fullscreen",“true“);使播放器全屏显示。
由于在web页面中flash播放器也根js在同一环境下,所以可以通过播放器与js通讯。
“flashId”是播放器对象在web页面中的id名字,这里假设就是flashId。
当在as中调用fscommand命令时,播放器会在web环境中找名为:
flashId_DoFSCommand("command",arguments)的方法,参数与as中fscommand的参数相同。
这里可以根据command的不同调用不同的方法,在js里
如:
if(command=="alert"){
alert(arguments);
}
3.flash8后提供了一个扩展类,可以执行对js和js对as的调用。

ExternalInterface.call("functionName",parameters);
functionName:js中的函数名称。
parameters:传过去的参数,用逗号隔开
简单的一句就可以实现对js方法的调用

同时这个类也可以实现js对as方法的调用,:)
ExternalInterface.addCallback('标识名',parent,Function);
这个方法就是把as中的一个function注册为一个“标识名”,让js可以通过这个标识调用
标识名:js中可以调用的名称
parent:方法运行环境也就是function中的this是谁。有一点像js中的call(parent,)或者apply(parent)
的感觉
funtion :as 中的一个方法名称,注意是Function对象,不是string型
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值