forked from: tracking

by naokiryu forked from tracking (diff: 18)
192.168.1.151/crossdomain.xml");
♥0 | Line 57 | Modified 2012-06-21 11:04:19 | MIT License
play

ActionScript3 source code

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

// forked from naokiryu's tracking
package {
    import flash.display.Sprite;
    import flash.net.SharedObject;
    import flash.text.*;
    import flash.external.ExternalInterface;
    import mx.utils.UIDUtil;
    import flash.net.URLVariables;
    import flash.net.URLRequest;
    import flash.net.URLLoader;
    import flash.net.URLLoaderDataFormat;
    import flash.net.URLRequestMethod;
    import flash.net.navigateToURL;
    import flash.system.Security;
    import flash.display.Loader;
    import flash.events.Event;
    import flash.system.Security;
    Security.loadPolicyFile("http://192.168.1.151/crossdomain.xml");
    Security.allowDomain("*");
    public class tracking2 extends Sprite {
        public function tracking2() {
            var loader:Loader = new Loader();
            var url:URLRequest = new URLRequest("http://192.168.1.151/getSharedObject.swf");
            loader.load(url);
            //var obj:SharedObject = new SharedObject();
            loader.contentLoaderInfo.addEventListener(Event.COMPLETE, function(e:Event):void{
                // 外部swfのメインタイムライン(DisplayObject型)
                loader.content;
                // (DisplayObject型であるldr.contentをObject型やMovieClip型にキャストしなければエラー起きる)
                var obj:SharedObject = (loader.content as Object).getSharedObj();
                // タイムラインの制御
                //trace(ldr.content as MovieClip).stop();
                
                if(obj.data.uuid == undefined){
                    obj.data.uuid = UIDUtil.createUID();
                }
                var t:TextField = new TextField();
                t.text = obj.data.uuid.toString();
                t.x=200;
                t.y=300;
                t.width=500;
                addChild(t);
                
                var js:String = "function (){return location.href}";
                                
                var variables:URLVariables = new URLVariables();
                variables.uuid = obj.data.uuid;
                
                try{
                    variables.url = ExternalInterface.call(js);
                }
                catch(err:Error){
                    t.appendText(err.message +"WHERE ExternalInterface.call");
                }
                
                try{
                    var urlRequest:URLRequest = new URLRequest("http://192.168.1.151/tracking.php");
                    //urlRequest.url = "http://192.168.1.151/tracking.php";
                    urlRequest.method = URLRequestMethod.POST;
                    urlRequest.data = variables;
                }
                catch(err:Error){
                    t.appendText(err.message +"WHERE POST");
                }
                
                var php_loader:URLLoader = new URLLoader (urlRequest);
                /*  
                php_loader.dataFormat = URLLoaderDataFormat.VARIABLES;  
                //↓データを送った後、値を受け取る際に使用  
                //php_loader.addEventListener(Event.COMPLETE, onComplete);  
                //↓loadで変数を送るのでちょっと違和感  
                loader.load(urlRequest);
                */  
            });
        }
    }
}

Forked