`
bal1212
  • 浏览: 76212 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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(flashFuncfunc);
  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. }

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics