WEB开发网
开发学院图形图像Flash Flash的as3,as2与JS的相互通信终极解密(含演示实例... 阅读

Flash的as3,as2与JS的相互通信终极解密(含演示实例)

 2012-02-06 12:13:01 来源:本站整理   
核心提示:演示实例(flash与js交互)Demo:Flash提供了ExternalInterface类来负责和JS的交互,基本上的使用方法,Flash的as3,as2与JS的相互通信终极解密(含演示实例),在Flash帮助文档中有详细的说明,下边是Flash部分代码://导入包 import flash.external.*

演示实例(flash与js交互)Demo:

Flash提供了ExternalInterface类来负责和JS的交互,基本上的使用方法,在Flash帮助文档中有详细的说明,下边是Flash部分代码:

  1. //导入包  
  2. import flash.external.*;  
  3. //提供JS访问的函数名  
  4. var _method:String = "_postStr";  
  5. //指定本地函数中this变量的作用域,可设置为null留空  
  6. var e_area:Object = null;  
  7. //AS内部函数名  
  8. var method:Function = postStr;  
  9. //将函数注册到容器列表  
  10. var wasSuccessful:Boolean = ExternalInterface.addCallback (_method, e_area, method);  
  11. //查看注册是否成功  
  12. if (wasSuccessful) {  
  13.   txtResult.text = "函数注册成功";  
  14. } else {  
  15.   txtResult.text = "函数注册失败,请检查函数是否存在";  
  16. }  
  17. //本地函数,用以供JS调用  
  18. function postStr (txt:String) {  
  19.   txttxtResult.text = txt;  
  20. }  
  21. //点击btn时,将txtInput.text的值传给js里的postStr函数  
  22. btn.onPress = function () {  
  23.   ExternalInterface.call ("postStr", txtInput.text);  
  24. }; 

JS的部分:

  1. <script> 
  2. function postStr(string) {  
  3.   /*这部分是jquery的$.ajax代码,有需要的可以看下哈  
  4.   $.ajax({  
  5.   type:"POST",  
  6.   url:"rate.php",  
  7.   data:"name="+name,  
  8.   success:function(msg,textStatus){  
  9.     alert("string form as: \""+string+"\"");  
  10.     thisMovie("flash-js")._postStr("\""+string+"\" from js to as");  
  11.     return msg;  
  12.     }  
  13.   });  
  14.   */  
  15.   alert("string form as: \""+string+"\"");  
  16.   //把Flash传过来的值发送回到Flash里的postStr函数  
  17.   thisMovie("flash-js")._postStr("\""+string+"\" from js to as");  
  18. }  
  19. //浏览器兼容访问DOM  
  20. function thisMovie(movieName) {  
  21.   if (navigator.appName.indexOf("Microsoft") != -1) {  
  22.     return window[movieName]  
  23.   }  
  24.   else {  
  25.     return document[movieName]  
  26.   }  
  27. }  
  28. </script> 

 来源:http://nwhy.org/flash-js-externalinterface.html

相关文章:Flash的as3,as2与JS的相互通信终极解密(含演示实例)
       ExternalInterface.addCallback()方法,as2 和as3的区别
       ExternalInterface.call和addCallback测试
       使用externalInterface.addCallback()容易犯的两个错误

Tags:Flash as as

编辑录入:coldstar [复制链接] [打 印]
赞助商链接