·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

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

时间:2011-06-25 16:28nwhy.org
Flash提供了ExternalInterface类来负责和JS的交互,基本上的使用方法,在Flash帮助文档中有详细的说明,下边是Flash部分代码

演示实例(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()容易犯的两个错误

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器