flash AS3与javascript相互通信(例子)

AS3与JavaScript之间的通讯用ExternalInterface .

ExternalInterface 类是外部 API,这是一个在 ActionScript 和 Flash Player 容器之间实现直接通信的应用程序编程接口,例如,包含 JavaScript 的 HTML 页。 Adobe 建议使用 ExternalInterface 实现 JavaScript 与 ActionScript 之间的所有通信。

详细官方帮助见:http://help.adobe.com/zh_CN/AS3LCR/Flash_10.0/flash/external/ExternalInterface.html

网上摘下来的例子:

在html中嵌入swf有两种方式,一种是用Flash CS3直接发布,还有一种就是大家都熟悉的swfobject。这里我没什么挑剔的,能解决问题就行。
这个例子是flash调用js函数funcWaitingForFlash,执行funcWaitingForFlash函数时再回调flash的func,仅供参考。
flash as3:

  1. package
  2. {
  3. import flash.display.*;
  4. import flash.external.*;
  5. public class Main extends Sprite
  6. {
  7. public function Main():void
  8. {
  9. // …
  10. ExternalInterface.addCallback(‘flashFunc‘, func);
  11. ExternalInterface.call(‘funcWaitingForFlash‘);
  12. }
  13. private function func(str:String):void
  14. {
  15. // …
  16. }
  17. }
  18. }

js:

  1. function callFlashFunc(str)
  2. {
  3. var obj = thisMovie(‘flashas3js‘);
  4. // thisMovie函数在发布时会自动生成
  5. // 如果用swfobject则是
  6. // var obj = swfobject.getObjectById(”flashas3js”);
  7. if(obj){
  8. obj.flashFunc(str);
  9. }
  10. }
  11. function funcWaitingForFlash()
  12. {
  13. callFlashFunc(‘试试看‘);
  14. }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值