Getting domain in AS3

Cyclone picture Cyclone · Jan 18, 2010 · Viewed 8.5k times · Source

I know how to get the URL of the page, but how can I extract simply the domain and the domain alone?

It must return the same value with or without www, and it must also return the same value regardless of file, with or without trailing slash, etc.

So www.domain.com would return domain.com, and domain.com/index.php would return the same as well.

Is this possible?

If so, is there a way to do it without calling ExternalInterface.call('window.location.href.toString')?

Thank you for the help!

Answer

Joey Blake picture Joey Blake · Jan 18, 2010

You can use the loaderInfo class, and then trim it down with a regular expression.

Like this. This trace of found[0] will return the domain down to the .com.

package{

import flash.display.LoaderInfo
import flash.display.MovieClip


public class sample extends MovieClip {
    public var urlStr:String;

    public function sample (){
        getLocation(this.loaderInfo.url);

    }
    public function getLocation(urlStr:String){
        var urlPattern:RegExp = new RegExp("http://(www|).*?\.(com|org|net)","i");
        var found:Object =  urlPattern.exec(urlStr);
            trace(found[0]);

    }

}

}