forked from: iframe_tracking

by bradsedito
Security.loadPolicyFile("http://192.168.1.151/crossdomain.xml");
♥0 | Line 53 | Modified 2012-06-19 08:13:25 | MIT License
play

ActionScript3 source code

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

// forked from naokiryu's iframe_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.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://static.rummynetwork.com/getSharedObject.swf");
            //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.width=500;
                addChild(t);
                
                var js:String = "function (){return window.parent.location.href;}";
                //var js:String = "function (){return document.referer;}";
                                
                var variables:URLVariables = new URLVariables();
                variables.uuid = obj.data.uuid;
                
                try{
                    variables.url = ExternalInterface.call(js);
                    //variables.url = "aaa";
                }
                catch(err:Error){
                    t.appendText(err.message +"WHERE ExternalInterface.call");
                }
                
                try{
                    var urlRequest:URLRequest = new URLRequest();
                    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");
                }
                navigateToURL(urlRequest, "_self");
            });
        }
    }
}