forked from: forked from: flash on 2013-1-29

by ohisama forked from forked from: flash on 2013-1-29 (diff: 37)
urlloader test
♥0 | Line 63 | Modified 2013-01-30 11:31:13 | MIT License | (replaced)
play

ActionScript3 source code

/**
 * Copyright ohisama ( http://wonderfl.net/user/ohisama )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/3Aqc
 */

// forked from ohisama's forked from: flash on 2013-1-29
// forked from ohisama's flash on 2013-1-29
// urlloader test
package 
{
    import flash.display.*;
    import flash.events.*;
    import flash.net.*;
    import flash.system.*;
    import flash.text.*;
    import flash.filters.*;
    import flash.geom.*;
    import flash.utils.*;
    import flash.display.Sprite;
    import flash.display.Loader;
    import flash.system.LoaderContext;
    import flash.events.Event;
    import flash.text.TextField;
    import flash.text.TextFieldAutoSize;
    import flash.utils.ByteArray;
    import flash.net.URLLoaderDataFormat;
    import flash.net.URLLoader;
    import flash.net.URLRequest;
    import flash.net.URLRequestHeader;
    import flash.net.URLRequestMethod;
    import flash.system.Security;
    import flash.events.IOErrorEvent;
    public class FlashTest extends Sprite 
    {
        Security.loadPolicyFile("http://wakuworks.appspot.com/crossdomain.xml");
        public static const PROXY_URL : String = "http://wakuworks.appspot.com/proxy/";
        public var ld : Loader;
        public function FlashTest() 
        {
            ld = new Loader;
            //ld.x = 10;
            //ld.y = 10;
            addChild(ld);
            var request : URLRequest = new URLRequest(PROXY_URL + "http://swf.wonderfl.net/swf/usercode/8/82/82c6/82c6d8aea06e38a0638c61ec06592bfd7b2ad3fb.swf");
            var loader : URLLoader = new URLLoader();
            loader.dataFormat = URLLoaderDataFormat.BINARY;
            loader.addEventListener(Event.COMPLETE, swfLoadComplete);
            loader.addEventListener(IOErrorEvent.IO_ERROR, ErrorView);
            loader.load(request);
            function swfLoadComplete(event : Event) : void
            {
                var array : ByteArray = event.target.data;
                var AD : ApplicationDomain = ApplicationDomain.currentDomain;
                var context : LoaderContext = new LoaderContext(false, AD);
                //context.allowLoadBytesCodeExecution = true;
                //var context : LoaderContext = new LoaderContext();
                context.allowCodeImport = true;
                //context.applicationDomain = new ApplicationDomain();
                //ld.contentLoaderInfo.addEventListener(Event.COMPLETE, loadEnd);
                //ld.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ErrorView);
                ErrorView();
                ld.loadBytes(array, context);
                function loadEnd(e : Event) : void
                {
                    //var mc : MovieClip = ld.content as MovieClip;
                    //addChild(mc);
                    ErrorView();            
                }
            }
            function ErrorView() : void
            {    
                var tf : TextField = new TextField();
                tf.width = 100; 
                tf.height = 100;
                addChild(tf);
                tf.appendText("ng");
            }
        }
    }
}