19
7

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. }

相关日志

当前没有评论!

第一个在本文留言。

发表评论

名字(必须)
邮箱(必须),(永不被公布)
网址(建议)

字体为 粗体 是必填项目,邮箱地址 永远不会 公布。

允许部分 HTML 代码:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
URLs(网站链接)必须完整有效 (比如: http://www.vpnall.com),所有标签都必须完整的关闭。

超出部分系统将会自动分段及换行。

请保证评论内容是与日志或 Blog 内容相关的,灌水、攻击性或不恰当的评论 可能 会被编辑或删除。