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

[AS3]AS3安全沙箱跨域加载swf,jpg,png,gif的问题解决

时间:2012-09-21 17:11CuPlayer
我们在flash加载外部swf,jpg,png,gif时,经常出现安全沙箱错误,通过设置文件所在域的安全策略文件可以解决这个问题

  我们在flash加载外部swf,jpg,png,gif时,经常出现安全沙箱错误,通过设置文件所在域的安全策略文件可以解决这个问题。但是有时我们需要加载我们没权限设置安全策略文件的域时,用下面这个方面可以帮你解决:
  1、首先使用一个loader加载一个外部SWF,监听loader.contentLoaderInfo的Event.COMPLETE事件;
  2、加载成功后,先暂时不使用这个加载成功的loader,而是另写一个loader2,使用loader2.loadBytes()来加载第一个loader的contentLoaderInfo.bytes,并监听Loader.contentLoaderInfo的Event.COMPLETE事件;
  3、在第二个Loader加载成功后,就可以使用被加载的文件了

  1. private var loader:Loader;  
  2. private var loader2:Loader;  
  3. private var _imgURL:String;  
  4. public function set imgURL(value:String):void  
  5. {  
  6.     _imgURL = value;  
  7.     loaderImage();  //酷播CuPlayer提示:加载图片
  8. }  
  9. private function loaderImage():void  
  10. {  
  11.     loader=new Loader();  
  12.     loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onComplete);  
  13.     loader.load(new URLRequest(_imgURL));  
  14. }  
  15. private function onComplete(event:Event):void  
  16. {  
  17.     loader2=new Loader();  
  18.     loader2.contentLoaderInfo.addEventListener(Event.COMPLETE,onComplete2);  
  19.     loader2.loadBytes(loader.contentLoaderInfo.bytes);  
  20. }  
  21. private function onComplete2(event:Event):void  
  22. {  
  23.     imgAvatar.source=loader2.content;  
  24. }  
  25. <mx:Image id="imgAvatar" width="50" height="50" left="19" top="23"/> 

 

热门文章推荐

请稍候...

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

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