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

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

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

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

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

 

  1. <script type="text/javascript"> 
  2. function onclickHandler() 
  3. { 
  4.  
  5. thisMapMovie("mapff").flushTickets(); 
  6. } 
  7. function onstopHandler() 
  8. { 
  9. thisMapMovie("mapff").StopPlay(); 
  10. } 
  11. function onplayHandler() 
  12. { 
  13. thisMapMovie("mapff").Play(); 
  14. } 
  15. function thisMapMovie(movieName) 
  16. { 
  17. if (window.document[movieName]) 
  18. { 
  19. return window.document[movieName]; 
  20. } 
  21. if (navigator.appName.indexOf("Microsoft Internet")==-1) 
  22. { 
  23. if (document.embeds && document.embeds[movieName]) 
  24. return document.embeds[movieName]; 
  25. } 
  26. else // if (navigator.appName.indexOf("Microsoft Internet")!=-1) 
  27. { 
  28. return document.getElementByIdx_x_x(movieName); 
  29. } 
  30. } 
  31. </script> 
  32.  
  33. “<body> 
  34. <input type="button" value="刷新数据" onclick="onclickHandler();" /> 
  35. <input type="button" value="停止" onclick="onstopHandler();" /> 
  36. <input type="button" value="播放" onclick="onplayHandler();" /> 
  37. <div id="flashContent"> 
  38. <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="550" height="400" id="mapff" align="middle"> 
  39. <param name="movie" value="mapf.swf" /> 
  40. <param name="quality" value="high" /> 
  41. <param name="bgcolor" value="#ffffff" /> 
  42. <param name="play" value="true" /> 
  43. <param name="loop" value="true" /> 
  44. <param name="wmode" value="window" /> 
  45. <param name="scale" value="showall" /> 
  46. <param name="menu" value="true" /> 
  47. <param name="devicefont" value="false" /> 
  48. <param name="salign" value="" /> 
  49. <param name="allowScriptAccess" value="always" /> 
  50. <param name="swliveconnect" value="true"/> 
  51. <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"/> 
  52. </object> 
  53. </div> 
  54. </body> 

 

热门文章推荐

请稍候...

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

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