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

[AS3]ExternalInterface.addCallback注册的函数在浏览器中的兼容

时间:2015-07-08 21:30酷播
ExternalInterface.addCallback注册的函数在浏览器中的兼容性问题

ExternalInterface.addCallback注册的函数在浏览器中的兼容性问题

  1. package 
  2.  
  3. import flash.display.MovieClip; 
  4. import flash.external.ExternalInterface; 
  5. import flash.system.System; 
  6. import flash.system.Security; 
  7. import flash.events.Event; 
  8.  
  9.  
  10. public class MapMain extends MovieClip 
  11.  
  12. public function MapMain() 
  13. testTxt.text=String(ExternalInterface.available); 
  14.  
  15. Security.allowDomain("*"); 
  16. Security.allowInsecureDomain("*"); 
  17. this.loaderInfo.addEventListener(Event.COMPLETE,onthisswfready); 
  18. try 
  19. ExternalInterface.addCallback("flushTickets",flushTicketsforjs); 
  20. catch(e:SecurityError) 
  21. testTxt.appendText("_"+e.toString()); 
  22. private function onthisswfready(evt:Event):void 
  23. this.loaderInfo.removeEventListener(Event.COMPLETE,onthisswfready); 
  24. testTxt.appendText("_ready"); 
  25.  
  26. private function flushTicketsforjs():void 
  27. //由js中触发主动的更新数据 
  28. testTxt.text="数据已经更新了"
  29.  

 

  1. <script type="text/javascript"> 
  2. function onclickHandler() 
  3.  
  4. thisMapMovie("mapff").flushTickets(); 
  5. function onstopHandler() 
  6. thisMapMovie("mapff").StopPlay(); 
  7. function onplayHandler() 
  8. thisMapMovie("mapff").Play(); 
  9. function thisMapMovie(movieName) 
  10. if (window.document[movieName]) 
  11. return window.document[movieName]; 
  12. if (navigator.appName.indexOf("Microsoft Internet")==-1) 
  13. if (document.embeds && document.embeds[movieName]) 
  14. return document.embeds[movieName]; 
  15. else // if (navigator.appName.indexOf("Microsoft Internet")!=-1) 
  16. return document.getElementByIdx_x_x(movieName); 
  17. </script> 
  18.  
  19. <body> 
  20. <input type="button" value="刷新数据" onclick="onclickHandler();" /> 
  21. <input type="button" value="停止" onclick="onstopHandler();" /> 
  22. <input type="button" value="播放" onclick="onplayHandler();" /> 
  23. <div id="flashContent"> 
  24. <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="550" height="400" id="mapff" align="middle"> 
  25. <param name="movie" value="mapf.swf" /> 
  26. <param name="quality" value="high" /> 
  27. <param name="bgcolor" value="#ffffff" /> 
  28. <param name="play" value="true" /> 
  29. <param name="loop" value="true" /> 
  30. <param name="wmode" value="window" /> 
  31. <param name="scale" value="showall" /> 
  32. <param name="menu" value="true" /> 
  33. <param name="devicefont" value="false" /> 
  34. <param name="salign" value="" /> 
  35. <param name="allowScriptAccess" value="always" /> 
  36. <param name="swliveconnect" value="true"/> 
  37. <embed play="true" swliveconnect="true" name="mapff" src="mapf.swf" quality="high" bgcolor="#FFFFFF" width="550" height="400" type="application/x-shockwave-flash" swliveconnect="true" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"/> 
  38. </object> 
  39. </div> 
  40. </body> 

 

热门文章推荐

请稍候...

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

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