[AS3]AS3安全沙箱实现跨域加载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加载成功后,就可以使用被加载的文件了;//loader.content==[Object MovieClip]
- public function set imgURL(value:String):void {
- _imgURL = value;
- loaderImage();
- }
- /**加载外部图片*/
- private function loaderImage():void {
- loader=new Loader();
- loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onComplete);
- loader.load(new URLRequest(_imgURL));
- }
- private function onComplete(event:Event):void {
- //trace("加载内容数据:" + loader.contentLoaderInfo.bytes)
- loader2=new Loader();
- loader2.contentLoaderInfo.addEventListener(Event.COMPLETE,onComplete2);
- loader2.loadBytes(loader.contentLoaderInfo.bytes);
- }
- private function onComplete2(event:Event):void {
- this.addChild(loader2.content);
- trace(loader2.content);
- }
加载图像并让其绕中心点旋转
- loader.content.x = - loader.content.width / 2;
- loader.content.y = - loader.content.height / 2;
- ui=new Sprite();
- ui.x=(stage.stageWidth)/2;
- ui.y=(stage.stageHeight)/2;
- ui.addChild(loader.content);
- this.addChild(ui);
热门文章推荐
- [HLS]做自己的m3u8点播系统使用HTTP Live Streaming(HLS技术)
- [FMS]FMS流媒体服务器配置与使用相关的介绍
- [AS3]什么是M3U8,与HTML5的区别是什么
- AS2.0 让flash自适应全屏,并且不自动缩放
- [AS3]as3.0的sound类常用技巧整理
- [AS3]as3与ByteArray详解、ByteArray介绍、ByteArray用法
- 关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍
- [JS]分享浏览器弹出窗口不被拦截JS示例